asp.net - Activation des sessions persistantes sur un équilibreur de charge




iis load-balancing (2)

Tout conseil sur celui-ci serait grandement apprécié, j'ai fait des recherches toute la matinée et je me gratte toujours la tête. J'ai débuté dans une nouvelle entreprise il y a quelques semaines, où je suis le seul développeur .NET car le développement a été réalisé à l'origine par une société d'externalisation et on m'a demandé de faire des recherches. Ma connaissance du système existant est extrêmement limitée, mais d'après ce que je peux comprendre, la situation est la suivante.

Nous aimerions activer les sessions persistantes sur un site Web asp.net. D'après mes recherches, j'ai besoin de faire les étapes suivantes. Nous utilisons le service d'état ASP.NET

L'installation est un serveur d'équilibrage de charge qui dessert deux serveurs Web.

  1. Assurez-vous que les deux serveurs Web ont la même clé machine.
  2. Assurez-vous que les sites Web ont été précompilés avant le déploiement. Pour la sérialisation des objets par ASP.NET State Service.
  3. Assurez-vous que le chemin de l'application sur la métabase iis est identique sur les deux serveurs Web.

Je manque de connaissances, c'est où sont les sessions sont stockées. Les sessions sont-elles stockées sur l'équilibreur de charge, peuvent-elles être stockées sur l'équilibreur de charge? D'après ce que j'ai lu, ils sont stockés par le service d'état ASP.NET, si le service s'exécute sur l'équilibreur de charge, les sessions sont stockées sur l'équilibreur de charge.

D'après ce que je comprends le service d'état ASP.NET s'exécute sur chacun des serveurs Web et ils se parlent juste pour que les sessions soient stockées sur les deux serveurs. Je suppose que la façon dont ils font cela est basée sur le type d'algorithme utilisé. Toute information serait grandement appréciée.



zeencat, jetez un coup d'œil à http://msdn.microsoft.com/en-us/library/ms178586.aspx dans la section State Server Mode:

Le mode StateServer stocke l'état de session dans un processus, appelé le service d'état ASP.NET, distinct du processus de travail ASP.NET ou du pool d'applications IIS. L'utilisation de ce mode garantit que l'état de la session est préservé si l'application Web est redémarrée et met également l'état de la session à la disposition de plusieurs serveurs Web dans une batterie de serveurs Web. Pour utiliser le mode StateServer, vous devez d'abord être sûr que le service d'état ASP.NET est en cours d'exécution sur le serveur utilisé pour le magasin de sessions . Le service d'état ASP.NET est installé en tant que service lorsque ASP.NET et le .NET Framework sont installés.

D'après ce que je comprends le service d'état ASP.Net s'exécute sur un serveur, en tant que service appelé service d'état ASP.NET , les deux serveurs auront le même fichier web.config:

<configuration>
  <system.web>
    <sessionState mode="StateServer"
      stateConnectionString="tcpip=SampleStateServer:42424"
      cookieless="false"
      timeout="20"/>
  </system.web>
</configuration>

De cette façon, la session est stockée sur le serveur qui héberge le service.

J'espère que cela aide, []





sticky