2012-01-25 10 views
5

Mam następujących w moim web.configDlaczego limit czasu sesji jest nadpisywany przekroczeniem czasu uwierzytelniania formularza w mojej aplikacji MVC3?

<sessionState mode="InProc" 
       timeout="2" 
       cookieless="UseCookies"/> 
<authentication mode="Forms"> 
    <forms 
    loginUrl="~/Account/LogOn" 
    timeout="1" 
    cookieless="UseCookies" /> 
</authentication> 

O ile mi zrozumieć w MVC3 (lub w ASP.NET) Kontrola sessionState podczas sesji użytkownika na serwerze z czasów i kontrole Timeout uwierzytelniania formularzy kiedy użytkownik będzie musiał ponownie zalogować się do witryny.

Nie wydaje się to być dokładnie prawdą: Jeśli usunę sekcję sessionState z mojego pliku web.config, limit czasu w sekcji uwierzytelniania jest całkowicie ignorowany - wygląda na to, że po pewnym domyślnym czasie wydaje się upłynąć limit czasu.

W rzeczywistości limit czasu sesji wydaje się być wymagany do kontrolowania czasu oczekiwania na autoryzację. To nie ma żadnego sensu. Czy ktoś może mi powiedzieć, czego tu brakuje?

Jest to związane z this question, o które pytałem, ale nie zrozumiałem, dlaczego tak się dzieje.

Odpowiedz

4

Limit czasu sesji jest niezależny od limitu czasu uwierzytelniania formularzy.

Nie opracować w jaki sposób stworzył swój bilet, więc tutaj są najczęstszymi dziwactwa, które mogą mieć wpływ na obserwacje:

  1. Jeśli instancja biletu auth siebie, następnie ustawienie limitu czasu w tej plik konfiguracyjny nie działa.
  2. Limit czasu na slajdzie jest trochę dziwny, bilet nie zostanie przedłużony, chyba że odwiedzimy go ponownie w ostatniej połowie okna.

Możesz chcieć sprawdzić ten artykuł na przegląd:

http://support.microsoft.com/kb/910443

Powiązane problemy