2009-08-17 8 views
5

Dies ist wirklich irritierend, und verursacht wahrscheinlich die abnehmende Benutzerschaft auf meiner Website. Ich bin mit der Formularauthentifizierung in meinem Benutzer anmeldenASP.NET: Der Benutzer wird nicht länger als 30 Minuten eingeloggt bleiben

ich standardmäßig die "Persist" Parameter auf true gesetzt haben, wenn sich der Benutzer anmeldet.

RedirectFromLoginPage(userString, True) 

und

SetAuthCookie(userString, True) 

In meine Datei web.config ich habe das „timeout“ -Attribut auf „129600“:

<authentication mode="Forms"> 
    <forms loginUrl="/registration/login.aspx" 
    timeout="129600" slidingExpiration="true" /> 
</authentication> 

ich rief mein Hosting-Unternehmen und Sie sagten, das Problem müsse mit meinem Code sein. Ich glaube nicht, dass dies der Fall ist.

Was die # (@% & @ (#% & @ (# *% könnte falsch sein ??

EDIT Diese verwendet funktionieren, bis ich Hosts umgeschaltet. Das hat mich dazu gebracht zu glauben dass es nicht mein Code, aber die Gastgeber in der Tat

EDIT 2 als Reaktion auf einen Kommentar Fiddler zu verwenden, hier ist was ich von Fiddler, wenn ich die Seite zu laden.

 
Set-Cookie: .ASPXAUTH=; expires=Tue, 12-Oct-1999 07:00:00 GMT; path=/; HttpOnly 
Set-Cookie: .ASPXAUTH=[some gobbledygook]; 
    expires=Sun, 15-Nov-2009 20:46:29 GMT; path=/; HttpOnly 
Set-Cookie: ASP.NET_SessionId=vudqghfplqnh5hz1qw1cwebt; path=/; HttpOnly 

Antwort

2

Es gibt eine Reihe von Dingen, die eine Zeitüberschreitung verursachen können. This Blog bietet einen guten Überblick.

+0

Dieser Artikel spricht über den Sitzungszustand - das hat nichts mit Formen Auth einem der .ASPXAUTH Cookie zu tun. – UpTheCreek

1

Sie können Fiddler verwenden, um das Ablaufdatum zu überprüfen, das für das Cookie festgelegt wurde, das von der Anmeldeseite zurückkommt.

+0

siehe meine Bearbeitung 2 für meine Geigerantwort – Jason

+1

Warum bleibt der zweite Cookie nicht? – Jason

0

Die Ursache dieses Verhaltens ist für mich normalerweise das IIS Idle Timeout.

3

Ihr App-Pool könnte wiederverwendet werden - entweder zu einem bestimmten Zeitpunkt oder basierend auf einem Schwellenwert für Arbeitsspeicher oder Prozessor. Wenn es früher gut geklappt hat und sich sonst nichts geändert hat, würde ich das wohl zuerst untersuchen.

+0

ist das etwas, das der Host steuert? – Jason

+0

Ja. Sehen Sie dies für IIS6 - http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1eee28e2-b319-4b4e-8267-a8c0aa0dcf36.mspx?mfr = true und dies für IIS7 - http://technet.microsoft.com/en-us/library/cc753179(WS.10).aspx. –

+0

ugh ... mein Gastgeber ist Gottaddy ... denke, dass dieses Problem nicht bald weggehen wird ... – Jason

1

Wie Sie wissen, habe ich ein ähnliches Problem. Was passieren könnte, ist der Anwendungspool shutting down.

Machen Sie einen Test: Öffnen Sie Ihre Sitzung in 2 verschiedenen Browsern und in einem von ihnen laden Sie die Webseite in weniger als 20 Minuten neu, während in der anderen nichts tun.

Was passieren könnte, ist, dass Sie nicht von einem von ihnen abgemeldet werden, weil der App-Pool am Leben gehalten wird.

edit:

Versuchen Sie folgendes: http://authors.aspalliance.com/paulwilson/articles/?id=12

+0

ugh. das ist scheiße. Danke für die Recherche – Jason