Comment peut-on mettre à jour un site web (dll + web.config) sans perte de variables de session ? Merci de votre aide.
Comment peut-on mettre à jour un site web (dll + web.config) sans perte de variables de session ? Merci de votre aide.
Bonjour,
Tu ne peux pas.
Tu peux mettre à jour tes pages Aspx sans forcer le redémarrage du site. Pour certaines dll je pense que ça peux passer peut-être (mais... les utilisateurs connectés risquent de rencontrer des problèmes). Dès que tu touches au Global.asax ou Web.Config => ça redémarre.
Généralement, lorsqu'on met à jour un site on affiche simplement un message de maintenant pendant quelques minutes.
Tu souhaites faire une correction d'un bug sur l'environnement de prod en sous-marin pour pas te faire caler par les utilisateurs ?![]()
Oui j'aimerai mettre à jour mon application (correction de bug) et ajouter de nouvelles fonctionnalités. Mais visiblement c’est impossible sans interruption de service. Quelqu'un aurait-il une idée comment je pourrais m’y prendre ? Merci.
Ce n'est pas tout à fait vrai...
Tu peux redémarrer ton site web (dans certains cas, comme les fermes tu peux même redémarrer ta machine) sans perte de session, mais il faut pour ca avoir au préalable changé ton mode de gestion de session de InProc à StateServer ou SqlServer
Après, pour vraiment éviter de perdre la session, et que les utilisateurs ne s'en rendent pas compte, ca va te demander de mettre en place une ferme, d'avoir un mécanisme de load balancing et tout le tralala...
Alors,à voir le ratio cout/intéret![]()
Oui mais tu triches là
Évidemment si la Session est stockée sous SQL Server par exemple, il n'y aura pas perte de donnée. Mais pour changer le mode de stockage de la Session, il faudra redémarrer l'appli... Et comme son application tourne déjà en production, dans tous les cas => perte de données
Mais il est vrai qu'avec une bonne configuration on peut contourner le problème. Encore faut-il y penser avant.
Merci pour vos renseignements. Vous auriez un tuto à me conseiller pour mettre en place une ferme.
Le premier endroit, c'est google (bon, en anglais, avec web farm asp.net)
qui te donnerait ca :
http://support.microsoft.com/?scid=k...15162&x=9&y=12
C'est succinct, mais ca devrait te donner les premières pistes...
Attention, je ne sais pas quel est ton niveau, ni quelles sont tes ressources, mais mettre en place une ferme demande un peu de doigté, et, en fonction de la criticité de ton application, il vaut peut-être mieux demander de l'aide extérieure, vu que ca va demander :
- des connaissances spécifiques en dev
- des connaissances spécifiques en OS
- les machines pour faire tout ca
- pas mal de café
si tu te lances en solo, commence par monter un environnement de dev avec tes n machines, et fait tourner des tests automatisés dessus, les gros risques à éviter, c'est la perte d'une machine (vérifier que l'autre site reste fonctionnel), ou un mauvais réglage du load balancer...
Bonsoir,
Comme le dit Philippe, mettre en place une ferme web demande des connaissances dans différents domaines. Mais avec de la volonté c'est à la portée de tout développeur.
Ce lien récent pourra t'être utile : il s'agit du Web Farm Framework 2.0. L'équipe IIS nous régale depuis quelque temps avec de très bonnes applications ou modules IIS (je pense au SEO Toolkit, au Web Farm Framewok, aux Web Packages introduits avec Visual Studio 2010).
Sinon, dans un premier temps, tu peux déjà essayer de mettre en place le stockage des Sessions ASP.NET sur SQL Server afin de les partager entre tes serveurs par exemple. Et monter quelques VM sur ta machine pour mettre en place un environnement de test.
[Edit] Ce billet d'un MVP est intéressant et recense des liens/tutos récents sur le sujet [/edit]
Partager