Augmentation de la durée de la session
Site hébergé par IIS 7.0
Je voudrais configurer ma session à 9 heures dans mon ASP.NET demande.
Ce programme a été créé au web.config
<sessionState timeout="540"></sessionState>
Mais, ce que je comprends, si le délai d'attente est fixé à 20 minutes à l'intérieur de l'IIS où est hébergé le site web, la définition d'un cadre d'une séance de l'etat sera d'aucune utilité.
Tout d'abord, je tiens à confirmer si cette hypothèse est juste.
Le problème est que je n'ai pas accès à l'IIS de mon partagés hébergés serveur web.
Maintenant, après quelques recherches, j'ai trouvé une autre solution dans le projet de code. Cela sonne comme une merveilleuse idée
. L'idée est d'insérer un iframe à la page principale. L'iframe contiendra une autre page avec l'actualisation des métafichiers à moins de 20 minutes.
Response.AddHeader("Refresh", "20");
Cette idée semblait bonne pour moi. Mais l'article est de 7 ans. Plus à la section des commentaires d'un utilisateur plaintes que cela ne fonctionnera pas si la page est réduite au minimum et j'ai peur que la même chose arrive quand mon onglet pages n'est pas active.
Je voudrais savoir ces choses
- Si l'actualisation de la méthode de travail pour mon scénario , même si la page est réduite au minimum?
- Existe-il d'autres méthodes qui pourraient augmenter le temps de session que remplace IIS paramètre de délai d'attente?
- Aussi j'ai lu quelques questions dans le Débordement de la Pile où les réponses de l'état qui IIS délai d'expiration de session est classique pour les pages ASP. Alors pourquoi n'est pas mon extension de délai pas de tir?
source d'informationauteur naveen
Vous devez vous connecter pour publier un commentaire.
Oui, cette hypothèse est tout à fait juste dans le cas où vous utilisez en mémoire mode d'état de session. Dans ce cas, la session est stocké dans la mémoire et depuis IIS pourrait abattre le domaine d'application dans des circonstances différentes (période d'inactivité, CPU/mémoire seuils sont atteints, ...) de la session, les données seront perdues. Vous pouvez utiliser un out-of-process mode d'état de session. Soit StateServer ou SQLServer. Dans le premier cas, la session est stocké dans la mémoire d'un de spécial dédié à la machine exécutant le aspstate service Windows et dans le second cas, c'est un Serveur SQL server dédié. Le Serveur SQL est le plus robuste, mais évidemment le plus lent.
Cachés iframe fonctionne toujours à maintenir la session en vie, mais comme je l'ai dit précédemment, il peut y avoir certaines conditions lorsqu'IIS se décharge à la demande de toute façon (CPU/mémoire seuils sont atteints => vous pouvez configurer cela dans IIS).
La méthode précédente n'est pas augmenter le délai d'expiration de session. Simplement, il maintient la session vivant en envoyant des requêtes HTTP au serveur à intervalles réguliers pour prévenir IIS d'apporter le domaine d'application vers le bas.
Il n'y a pas une telle chose comme IIS d'expiration de la session. La session est un ASP.NET artefact. IIS est un serveur web qui ne sait rien sur les sessions.
Personnellement, je n'ai pas utiliser les sessions dans mes applications. J'ai simplement désactiver:
et l'utilisation du protocole HTTP standard artefacts tels que les cookies, les paramètres de chaîne de requête, ... afin de préserver l'état. Je préfère persister les informations dans mon backend et le retrouver plus tard à l'aide des identifiants uniques au lieu de s'appuyer sur des sessions.