Le délai d'expiration de session par défaut dans asp est de 20 minutes, ce qui n'est pas suffisant dans de nombreux cas. Aujourd'hui, les clients demandent à se reconnecter, j'ai donc préparé cet article pour la commodité des amis qui en ont besoin. Le délai d'expiration n'est pas défini dans le programme, alors la session expire. Le délai d'expiration sera exécuté en fonction du délai d'expiration défini par IIS. Le délai d'expiration de la session par défaut dans IIS est de 20 minutes.
Le réglage de l’heure doit être placé en premier
Par exemple
Copiez le code comme suit :
Session.Timeout=30 'SEESION est valable 30 minutes
Session(ID)=Rs(id)
Session (Nom) = Rs (Nom)
Session (Pass) = Rs (Pass
Utilisez la propriété Session.Timeout pour définir le délai d'expiration
Pour un utilisateur qui se connecte à une application ASP, s'il n'effectue aucune autre opération dans le délai par défaut du système, la session de l'utilisateur sera automatiquement révoquée une fois le délai défini écoulé, évitant ainsi le gaspillage des ressources système. La propriété TimeOut de l'objet Session peut être utilisée pour définir le délai d'expiration en minutes. Le format du paramètre est :
Copiez le code comme suit :
Session.TimeOut=MaxTime
Exemple de code : page (5.asp), cet exemple montre comment contrôler la fin de la session.
Copiez le code comme suit :
<%@langue=vbscript %>
<% session.timeout=60 %>
<html>
<head><title>Contrôler l'heure de fin de la session</title><head>
<corps>
<%
qui = Session.SessionID
CurrentPage=Request.ServerVariables(SCRIPT_NAME)
Response.AppendTolog qui & : & CurrentPage
Response.write <center>Votre ID de session est : & who & <p>
Response.write Le chemin de la page que vous visitez actuellement est : & CurrentPage & <p>
si Session(I)= alors
session(i)=1
autre
session(i)=session(i)+1
finir si
Session.Abandonner
Response.write Cette page a été actualisée & Session(i) & fois par vous. </centre>
%>
Dans les applications Asp.net, de nombreuses personnes rencontreront des conflits dans les paramètres d'expiration de session. Parmi elles, il existe quatre façons de définir l'heure d'expiration de la session :
1. Niveau du site Web mondial (c'est-à-dire du serveur)
IIS-Website-Properties-Asp.net-Edit Configuration-State Management-Session Timeout (minutes) -Défini sur 120, soit 2 heures, c'est-à-dire que si l'utilisateur actuel n'opère pas après 120 minutes, la session expirera automatiquement .
2. Niveau du site Web
IIS - Site Web - Site Web spécifique (tel que DemoSite) - Propriétés - Asp.net Il existe actuellement deux options, l'une consiste à modifier la configuration globale et l'autre à modifier la configuration.
Si vous modifiez la configuration globale, elle sera la même que la configuration précédente.
Si vous modifiez la configuration, elle ne prendra effet que sur le site Web actuel. Parce qu’un serveur peut avoir de nombreux sites Web indépendants.
1. Continuez à sélectionner Gestion des statuts - Délai d'expiration de la session (minutes) - défini sur 360, c'est-à-dire 360 minutes. L'effet est le même que ci-dessus, mais il ne prend effet que sur le site Web actuel.
2. Délai d'expiration d'authentification d'identité-Forms-Cooke, sélectionnez 12:00:00, soit 12 heures. Huit options sont disponibles :
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
Autrement dit, le maximum est de 24 heures et le minimum de 15 minutes. Il s'agit de la configuration par défaut. Il peut être librement personnalisé dans l’application.
3. Niveau de candidature
Identique à la gestion de sites Web, sauf que la portée est limitée à l'application actuelle.
4. Niveau des pages
Dans une certaine page, définissez Session.Timeout = 30 ; pour modifier temporairement le délai d'expiration de la session d'une certaine page.
Pour vérifier l'heure d'expiration d'une session, vous pouvez utiliser
Copiez le code comme suit :
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);
Parmi eux, les paramètres deux et trois sont reflétés dans Web.config :
Copiez le code comme suit :
afficher la copie ordinaire dans le presse-papiers ?
<?xml version=1.0?>
<configuration>
<système.web>
<mode d'authentification=Formulaires>
<forms name=AuthLogin loginUrl=/Login.aspx protection=All timeout=360 slideExpiration=true/>
</authentification>
<sessionState mode=InProc cookieless=false timeout=20 />
</system.web>
<chemin d'emplacement=Login.aspx>
<système.web>
<autorisation>
<autoriser les utilisateurs=* />
</autorisation>
</system.web>
</emplacement>
</configuration>
<?xml version=1.0?>
<configuration>
<système.web>
<mode d'authentification=Formulaires>
<forms name=AuthLogin loginUrl=/Login.aspx protection=All timeout=360 slideExpiration=true/>
</authentification>
<sessionState mode=InProc cookieless=false timeout=20 />
</system.web>
<chemin d'emplacement=Login.aspx>
<système.web>
<autorisation>
<autoriser les utilisateurs=* />
</autorisation>
</system.web>
</emplacement>
</configuration>
La priorité des quatre paramètres ci-dessus est le niveau de la page > le niveau de l'application > le niveau du site Web > le niveau du serveur. En d’autres termes, si la page est définie sur 20 minutes et le site Web sur 120 minutes, alors 20 minutes seront évidemment le délai d’expiration effectif.
Autre point à noter.
Dans le deuxième paramètre, définissez le délai d'expiration de la session (SessionState) sur 120 minutes et utilisez l'authentification par formulaire en même temps. Réglez-le sur 00:15:00, soit 15 minutes, et slideExpirationo est faux. Quelle est l'expiration réelle de la session. heure qui prend effet ?
Un résultat valide est le paramètre SessionState, qui est de 120 minutes.
Si le délai d'expiration de la session est défini mais ne prend pas effet, veuillez vérifier les configurations ci-dessus.
Autres méthodes trouvées en ligne
1. Système d'exploitation : Windows Serveur 2003
Étapes : Démarrer->Outils d'administration->Gestionnaire des services Internet (IIS)->Site Web->Site Web par défaut->Clic droit sur Propriétés->Répertoire de base->Configuration->Options->Activer l'état de session->Délai d'expiration de la session (ici Définissez le délai d'attente souhaité en minutes). D'ACCORD.
2. Définition du délai d'expiration de la session dans les applications ASP.NET
Dans les applications Web telles que ASP.NET, la session est une méthode courante utilisée pour enregistrer le statut de l'utilisateur. Cependant, l'espace mémoire du serveur étant limité, le réglage du délai d'expiration de la session est nécessaire. Comment définir le délai d'expiration de la session dans ASP.NET ? C'est très simple, modifiez simplement la configuration web.config.
La méthode de modification spécifique est la suivante, configurez comme suit dans web.config
Copiez le code comme suit :
<système.web>
<sessionState mode=InProc timeout=30/>
</system.web>
Cela signifie que le délai d'expiration de la session est de 30 minutes. C'est-à-dire que si l'utilisateur actuel n'opère pas après 30 minutes, la session expirera automatiquement.
3. Dans la page cs qui appelle Session, écrivez ce qui suit dans l'événement Load
Copiez le code comme suit :
Session.Timeout = 30 ;
4. Stocker la session dans le service d'état asp.net
Copiez le code comme suit :
<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= />