web-dev-qa-db-de.com

So legen Sie das Sitzungszeitlimit in der Datei web.config fest

Ich habe mich sehr bemüht, kann aber keine Lösung für das Festlegen des Sitzungszeitlimits für In-Process-Sitzungen für eine ASP.Net-Webanwendung finden.

Ich verwende VSTS 2008 + .Net 3.5 + C #. Hier ist, was ich selbst geschrieben habe, um das Timeout auf 1 Minute zu setzen, ist es richtig?

Ich schrieb unter system.web Abschnitt im web.config

<sessionState timeout="1" mode="InProc" />
165
George2

Wenn Sie das Zeitlimit auf 20 Minuten einstellen möchten, verwenden Sie Folgendes:

    <configuration>
      <system.web>
         <sessionState timeout="20"></sessionState>
      </system.web>
    </configuration>
304
Wolfwyrd

Der Wert, den Sie im Attribut timeout festlegen, ist eine der richtigen Methoden zum Festlegen des Sitzungszeitlimitwerts.

Das Attribut timeout gibt an, wie viele Minuten eine Sitzung inaktiv sein kann, bevor sie abgebrochen wird. Der Standardwert für dieses Attribut ist 20.

Indem Sie diesem Attribut den Wert 1 zuweisen, legen Sie fest, dass die Sitzung 1 Minute nach ihrem Leerlauf abgebrochen wird.

Um dies zu testen, erstellen Sie eine einfache Aspx-Seite und schreiben Sie diesen Code in das Ereignis Page Load.

Response.Write(Session.SessionID);

Öffnen Sie einen Browser und gehen Sie zu dieser Seite. Eine Sitzungs-ID wird gedruckt. Warten Sie eine Minute und klicken Sie dann auf "Aktualisieren". Die Sitzungs-ID wird geändert.

Wenn meine Vermutung nun richtig ist, möchten Sie, dass sich Ihre Benutzer abmelden, sobald die Sitzung abgelaufen ist. Dazu können Sie eine Anmeldeseite einrichten, auf der die Benutzeranmeldeinformationen überprüft werden, und eine Sitzungsvariable wie die folgende erstellen.

Session["UserId"] = 1;

Jetzt müssen Sie auf jeder Seite eine Überprüfung für diese Variable durchführen -

if(Session["UserId"] == null)
    Response.Redirect("login.aspx");

Dies ist ein einfaches Beispiel dafür, wie dies funktionieren wird.

Verwenden Sie jedoch die von ASP.NET bereitgestellten Klassen Roles & Membership , um Ihre produktionssicheren Apps zu erstellen. Sie bieten eine formularbasierte Authentifizierung, die viel zuverlässiger ist als die normale sitzungsbasierte Authentifizierung, die Sie verwenden möchten.

48
Kirtan

Verwenden Sie dies in web.config:

<sessionState 

  timeout="20" 
/>
0
Balaji Birajdar