Question

J'espérais que quelqu'un pourrait valider mes hypothèses avant que je recommande que mon client de mise à niveau d'un 30 / mois pour un forfait d'hébergement 80 / mo.

Site: le site est un site de commerce électronique ASP.NET personnalisé. les caddies sont stockés dans la session inproc.

Problème pendant les saisons occupées comme nous avons maintenant, les utilisateurs perdent souvent leurs caddies et leurs FormsAuthentication informations de connexion.

Solution Je voulais migrer le site à utiliser un état de session SQL Server. Mes hypothèses sont que les clients perdent leurs caddies parce que les séances de InProc recyclent plus souvent alors leur délai d'attente de 20 minutes, en raison de la charge. Est-ce que le déplacement de la session à SQL Server ou un état de session serveur permet client de stocker leurs achats session panier sans recyclage, le cas échéant, peut une fois que leur aurai-je des problèmes si j'augmente le délai d'attente de session pour dire 40 ou 60 minutes

Était-ce utile?

La solution

En utilisant l'état de session SQL signifie que les sessions devraient survivre à un recyclage d'IIS, (mais pas un recyclage de SQL Server si vous utilisez le script par défaut qui crée la base de données de session dans le tempdb).

Il y a un script disponible à partir du site Web de Microsoft qui crée un état de session permanente db. Je recommande l'utilisation que l'on place (Voir ).

Donc, pour répondre essentiellement à votre question. Oui, l'état de session SQL vous aidera. Vous pouvez également envisager d'utiliser l'out-of-process serveur d'état pour tester votre théorie.

En outre, comme un collègue vient de me rappeler, faire quelque chose que vous stockez dans la session est marquée comme sérialisable avant de migrer, sinon vous aurez des problèmes.

Autres conseils

Pourriez-vous simplement ajouter un peu de RAM à la boîte? Cela pourrait aider et serait probablement moins cher et plus simple que de déplacer la session à SQL Server. Bien sûr, ce ne serait qu'un pis-aller, mais si elle les a sauvés 50 $ / mois pendant quelques années, il est sans doute utile.

Vous pouvez également vérifier le code pour voir si d'autres données reste dans la session pour beaucoup plus longtemps que nécessaire.

Les hypothèses semblent raisonnables pour moi. pourrait vouloir également examiner les paramètres du AppPool et essayer de comprendre pourquoi son recyclage. Peut-être tout ce que vous devez faire est de changer les (si vous le pouvez).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top