Срок действия основного сеанса ASP.NET истекает независимо от значения параметра IdealTimout. - PullRequest
0 голосов
/ 27 октября 2018

У меня есть приложение asp.net core 1.1, и я устанавливаю время ожидания сеанса на 3 часа. Поэтому я ожидаю, что данные в сессии будут оставаться в течение 3 часов.

    public void ConfigureServices(IServiceCollection services)
    {
        // authorization                      
        services.AddAuthorization();
        services.AddMvc(config =>
        {
            var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        })
        services.AddKendo();
        services.AddSession();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {            
        //configure identity server 3
        app.UseIdentityServer(Configuration["Identity:Authority"],
            Configuration["Identity:ClientId"],
            Configuration["Identity:PostLogoutRedirectUri"],
            domainService);

        app.UseSession(new SessionOptions()
        {
            IdleTimeout = new TimeSpan(3, 0, 0)
        });
        app.UseMvc(routes =>
        {                
        });

        // Configure Kendo UI
        app.UseKendo(env);

    }

Однако, оставаясь идеальным в течение 20 минут, сеанс пользователя получает тайм-аут

На основании документации

Приложение использует свойство IdleTimeout для определения продолжительности сеанса может быть простаивает до того, как его содержимое в кеше сервера будет заброшено. Это свойство не зависит от срока действия файла cookie.

Таким образом, существует тайм-аут для данных и отдельный тайм-аут для файла cookie сеанса. Однако, основываясь на выпуске 169 , вы не можете установить тайм-аут для файла cookie сеанса.

Мое приложение также использует IdentityServer 3 и создает файл cookie для аутентификации, который имеет более длительное время ожидания (более 3 часов). и я не думаю, что auth cookie имеет какое-либо отношение к cookie сессии.

Вопросы
Есть ли какие-либо дополнительные настройки, связанные с сеансом, которые мне нужно сделать?
Как я могу проверить время истечения определенного куки. На сервере я не вижу эту информацию в Request.Cookies. это просто пара ключ-значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...