Die standardmäßige Sitzungsablaufzeit in ASP beträgt 20 Minuten, was in vielen Fällen nicht ausreicht. Heutzutage gibt es viele Anfragen von Kunden, sich erneut anzumelden, daher habe ich diesen Artikel für die Bequemlichkeit von Freunden vorbereitet, die die Sitzung benötigen Wenn im Programm keine Ablaufzeit festgelegt ist, läuft die Sitzung entsprechend der von IIS festgelegten Ablaufzeit ab. Die Standardablaufzeit der Sitzung in IIS beträgt 20 Minuten.
Die Zeiteinstellung sollte zuerst vorgenommen werden
Zum Beispiel
Kopieren Sie den Codecode wie folgt:
Session.Timeout=30 'SEESION ist 30 Minuten gültig
Sitzung(ID)=Rs(id)
Sitzung(Name)=Rs(Name)
Sitzung(bestanden)=Rs(bestanden
Verwenden Sie die Eigenschaft Session.Timeout, um den Timeout-Zeitraum festzulegen
Wenn sich ein Benutzer bei einer ASP-Anwendung anmeldet und innerhalb der Standardzeit des Systems keine anderen Vorgänge ausführt, wird die Sitzung des Benutzers nach Ablauf der festgelegten Zeit automatisch widerrufen, wodurch verhindert wird, dass Systemressourcen verschwendet werden. Mit der TimeOut-Eigenschaft des Session-Objekts kann die Ablaufzeit in Minuten festgelegt werden. Das Einstellungsformat ist:
Kopieren Sie den Codecode wie folgt:
Session.TimeOut=MaxTime
Beispielcode: Seite (5.asp). Dieses Beispiel zeigt, wie das Ende der Sitzung gesteuert wird.
Kopieren Sie den Codecode wie folgt:
<%@ language=vbscript %>
<% session.timeout=60 %>
<html>
<head><title>Kontrollieren Sie die Endzeit der Sitzung</title><head>
<Körper>
<%
who = Session.SessionID
CurrentPage=Request.ServerVariables(SCRIPT_NAME)
Response.AppendTolog who & : & CurrentPage
Response.write <center>Ihre Sitzungs-ID lautet: & who & <p>
Response.write Der Pfad der Seite, die Sie gerade besuchen, lautet: & CurrentPage & <p>
if Session(I)= then
Sitzung(i)=1
anders
Sitzung(i)=Sitzung(i)+1
Ende wenn
Sitzung.Abbruch
Response.write Diese Seite wurde & Session(i) & mal von Ihnen aktualisiert. </centr>
%>
In Asp.net-Anwendungen stoßen viele Benutzer auf Konflikte in den Einstellungen für den Sitzungsablauf. Darunter gibt es vier Möglichkeiten, die Ablaufzeit der Sitzung festzulegen:
1. Globale Website-Ebene (d. h. Serverebene).
IIS-Website-Properties-Asp.net-Edit Configuration-State Management-Session Timeout (Minuten) – Auf 120 eingestellt, was 2 Stunden entspricht. Das heißt, wenn der aktuelle Benutzer nach 120 Minuten keine Aktion ausführt, läuft die Sitzung automatisch ab .
2. Website-Ebene
IIS – Website – Spezifische Website (z. B. DemoSite) – Eigenschaften – Asp.net Derzeit gibt es zwei Möglichkeiten: eine zum Bearbeiten der globalen Konfiguration und die andere zum Bearbeiten der Konfiguration.
Wenn Sie die globale Konfiguration bearbeiten, ist sie dieselbe wie die vorherige Konfiguration.
Wenn Sie die Konfiguration bearbeiten, wird sie nur auf der aktuellen Website wirksam. Denn ein Server kann viele unabhängige Websites haben.
1. Wählen Sie weiterhin „Statusverwaltung – Sitzungs-Timeout (Minuten)“ – auf 360, also 360 Minuten. Der Effekt ist derselbe wie oben, wird jedoch nur auf der aktuellen Website wirksam.
2. Identity Authentication-Forms-Cooke-Timeout, wählen Sie 12:00:00, was 12 Stunden entspricht. Es stehen acht Optionen zur Verfügung:
00:15:00
00:30:00
01:00:00
02:00:00
04:00:00
08:00:00
12:00:00
1:00:00:00
Das heißt, das Maximum beträgt 24 Stunden und das Minimum 15 Minuten. Dies ist die Standardkonfiguration. Es kann in der Anwendung frei angepasst werden.
3. Anwendungsebene
Identisch mit der Website-Verwaltung, mit der Ausnahme, dass der Umfang auf die aktuelle Anwendung beschränkt ist.
4. Seitenebene
Legen Sie auf einer bestimmten Seite Session.Timeout = 30 fest, um die Sitzungsablaufzeit einer bestimmten Seite vorübergehend zu ändern.
Um die Ablaufzeit einer Sitzung zu überprüfen, können Sie verwenden
Kopieren Sie den Codecode wie folgt:
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
Unter diesen spiegeln sich die Einstellungen zwei und drei in Web.config wider:
Kopieren Sie den Codecode wie folgt:
Klartext in Zwischenablage anzeigen und drucken?
<?xml version=1.0?>
<Konfiguration>
<system.web>
<Authentifizierungsmodus=Formulare>
<forms name=AuthLogin loginUrl=/Login.aspx Protection=All timeout=360 slideExpiration=true/>
</authentication>
<sessionState mode=InProc cookieless=false timeout=20 />
</system.web>
<location path=Login.aspx>
<system.web>
<Autorisierung>
<allow users=* />
</authorization>
</system.web>
</location>
</configuration>
<?xml version=1.0?>
<Konfiguration>
<system.web>
<Authentifizierungsmodus=Formulare>
<forms name=AuthLogin loginUrl=/Login.aspx Protection=All timeout=360 slideExpiration=true/>
</authentication>
<sessionState mode=InProc cookieless=false timeout=20 />
</system.web>
<location path=Login.aspx>
<system.web>
<Autorisierung>
<allow users=* />
</authorization>
</system.web>
</location>
</configuration>
Die Priorität der oben genannten vier Einstellungen ist Seitenebene > Anwendungsebene > Website-Ebene > Serverebene. Mit anderen Worten: Wenn die Seite auf 20 Minuten und die Website auf 120 Minuten eingestellt ist, sind 20 Minuten offensichtlich die effektive Ablaufzeit.
Ein weiterer erwähnenswerter Punkt.
Stellen Sie in der zweiten Einstellung das Sitzungszeitlimit (SessionState) auf 120 Minuten ein und verwenden Sie gleichzeitig die Formularauthentifizierung. Stellen Sie es auf 00:15:00 ein, was 15 Minuten entspricht, und slideExpirationo ist falsch. Was ist der tatsächliche Sitzungsablauf? Zeit, die wirksam wird?
Ein gültiges Ergebnis ist die SessionState-Einstellung, die 120 Minuten beträgt.
Wenn die Sitzungsablaufzeit festgelegt ist, aber nicht wirksam wird, überprüfen Sie bitte die oben genannten Konfigurationen.
Andere Methoden finden Sie online
1. Betriebssystem: Windows Server 2003
Schritte: Start->Verwaltung->Internetinformationsdienste (IIS)-Manager->Website->Standardwebsite->Rechtsklick auf Eigenschaften->Basisverzeichnis->Konfiguration->Optionen->Sitzungsstatus aktivieren->Sitzungstimeout (hier Stellen Sie das gewünschte Timeout in Minuten ein. OK.
2. Festlegen der Sitzungsablaufzeit in ASP.NET-Anwendungen
In Webanwendungen wie ASP.NET ist die Sitzung eine gängige Methode zum Speichern des Benutzerstatus. Da der Speicherplatz des Servers jedoch begrenzt ist, ist die Einstellung der Sitzungsablaufzeit erforderlich. Wie legt man die Sitzungsablaufzeit in ASP.NET fest? Es ist sehr einfach, die web.config-Konfiguration zu ändern.
Die spezifische Änderungsmethode lautet wie folgt: Konfigurieren Sie sie wie folgt in web.config
Kopieren Sie den Codecode wie folgt:
<system.web>
<sessionState mode=InProc timeout=30/>
</system.web>
Damit ist gemeint, dass die Ablaufzeit der Sitzung 30 Minuten beträgt. Das heißt, wenn der aktuelle Benutzer nach 30 Minuten keine Aktion ausführt, läuft die Sitzung automatisch ab.
3. Schreiben Sie auf der CS-Seite, die Session aufruft, Folgendes in das Load-Ereignis
Kopieren Sie den Codecode wie folgt:
Session.Timeout = 30;
4. Speichern Sie die Sitzung im asp.net-Statusdienst
Kopieren Sie den Codecode wie folgt:
<sessionState cookieless=false timeout=480 mode=StateServer stateConnectionString=tcpip=127.0.0.1:42424 sqlConnectionString=data source=127.0.0.1;user id=sa;password= />