2017-10-19 1 views
0

내가 브라우저 창을 닫을 경우에도 세션이 며칠 지속 할 작동하지 않는, 그래서 나는 Startup.cs이 설정을 사용 :asp.net 코어 세션 기간을 늘립니다. IDLETIMEOUT는

 services.AddSession(options => { 
      options.IdleTimeout = TimeSpan.FromHours(720); 
     }); 

그러나, 아무런 영향이없는 것으로 보인다. 웹 사이트의 브라우저 탭이 열려 있어도 세션은 잠시 후에 재설정됩니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

IdleTimeout을 720 분 (12 시간)으로 설정하면 완전히 동일한 문제가 발생합니다. 내 세션은 약 5 시간 반 후에 만료됩니다. IIS에서 실행 중이며 iis의 유휴 시간 초과가 12 시간으로 설정되었고 잘못된 시간에 응용 프로그램 풀이 재사용되지 않았 음을 확인했습니다. 그래도 작동이 안되는. – mikelt21

+0

세션 쿠키가 어떤 이유로 종료 될 때 만료되도록 설정됩니다. –

+0

브라우저 탭이 열려있는 동안 이런 일이 발생할 수 있습니까? 브라우저를 닫을 때 세션이 만료 되더라도 지금은 사이트를 열어도 만료됩니다. – mikelt21

답변

1

세션 쿠키가 만료되기 때문에 발생합니다 (session). 당신이 우선합니다 경우에 대한 public override TimeSpan? Expiration을 기억 Expiration.HasValue 반환 false

사촌 CookieOptionsExpiresdefault(DateTimeOffset?)을 설정 Microsoft.AspNetCore.Http.Abstractions에서 CookieBuilder를 사용 Microsoft.AspNetCore.Session : 세션을 저장하고 더 세부 브라우저

에 "보이지 않는"의 방법을 오랫동안 서버 설정 IdleTimeout in SessionCookieBuilder

+0

그렇게 할 수있는 샘플 코드를 게시 할 수 있습니까? –