2011-11-06 8 views
2

Dans un site Web ASP.NET, nous stockons des sessions dans SQL Server. Tout fonctionne bien, sauf que les sessions recyclent fréquemment. J'ai une période de timeout fixée à 30 minutes mais parfois elle recycle en quelques minutes. Nous avons un serveur dédié et un site web fonctionnant sous un pool d'applications 'classique'. J'ai beaucoup cherché sur ce problème, mais je n'ai pas trouvé de réponse satisfaisante. Toute aide est la bienvenue.Recyclez des sessions ASP.NET

Note: cela se passe surtout sur une page où il y a beaucoup d'utilisation de viewstate, je suis curieux qu'il y ait un lien de viewstate avec le recyclage de session?

+0

Où et comment fonctionne votre session-state-sql-database? – stefan

Répondre

2

Nous avons rencontré ce problème lorsque nous avons une batterie de serveurs Web (plus d'un serveur Web desservant des clients) ou un jardin Web (plusieurs processus de travail dans un pool d'applications). Si vous possédez une batterie de serveurs Web, vous devez vous assurer que tous les serveurs Web ont the same machine key et que toutes les instances ont le exact same application path.

Si vous avez un jardin Web, essayez de redéfinir les processus de travail maximum à 1 pour voir si cela résout le problème.

Lorsque vous vérifiez les paramètres IIS, vous devez probablement vérifier que le pool d'applications ne se recyclent pas régulièrement. Cela peut être dû une des opérations suivantes spécifié dans la piscine de l'application:

1) Limite de la mémoire privée (la piscine d'application est remis à zéro si la quantité maximale de mémoire a été dépassée)

2) recyclage régulier intervalle de temps (le pool d'applications est automatiquement recyclé après un nombre de minutes spécifié, par défaut à 1740, et/ou à des heures spécifiques).

3) Délai d'inactivité (nombre de minutes d'inactivité pouvant s'écouler avant l'arrêt automatique du pool d'applications).

Vous devez également vérifier les journaux d'événements pour savoir si le pool d'applications s'est bloqué ou s'il a été recyclé.

Mise à jour:

Une pensée supplémentaire:

Si vous avez une application, tels que les logiciels antivirus ou de sauvegarde, qui surveille le répertoire bin de votre application et modifie ou modifie les attributs (tels que la drapeau de sauvegarde ou horodatage) des fichiers de ce répertoire OU de votre fichier web.config, cela entraînera également le recyclage des applications.

+0

Désolé, j'ai oublié de mentionner, nous n'utilisons pas de ferme Web ou de jardins Web. Les processus de travail maximum sont déjà définis sur 1. La limite de mémoire privée est 0KB (par défaut) et j'ai également défini le délai d'inactivité sur 0 – OBA

+0

Réponse mise à jour avec une pensée supplémentaire –