Problème d'état de session ASP.NET sur un serveur web IIS 7.5 à charge équilibrée

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Problème d'état de session ASP.NET sur un serveur web IIS 7.5 à charge équilibrée

Message par ForumBot »

we have a problem avec an ASP.NET website où le users' sessions are behaving oddly - session data appearing, disappearing et re-appearing.

Je pense Je sais what le problem is:

- Our setup is 2 x Load balanced WebServers + single session state database.

- ASP.NET SQL session state storage appears to depend on le IIS Website Instance ID (Metabase ID) to uniquely identify le incoming session cookie ID et retrieve/store values.

- The IIS Website Instance ID of le website is différent on chaque of le live servers (ID **/W3SVC/1/Root** on WebServer A, ID **/W3SVC/2/Root** on Webserver B).

- Load balancing is pas using client affinity so chaque user HTTP request could allez dans soit server.

Par conséquent, as a user logs onto le site et moves around, chaque HTTP call can allez dans soit web server, et hence use a Session State record avec différent IDs depending on le server. In effect le user would simultaneously have 2 separate session instances. Je crois J'ai verified this as in le database **ASPStateTempSessions** table, chaque session cookie ID seems to correspond to 2 *almost-identically named* records (their IDs seulement differ by le dernier peu de characters, qui Je crois are a modifier based on le **AppID** depuis le **AspStateTempApplications** table) created within seconds of chaque other.

Therefore Session State will appear to misbehave as changes made to one session record will seulement persist against that web server. If le User moves to le autre load-balanced server, session values will seem to disappear ou revert.

Je crois la solution est de synchronise le IIS Instance IDs of le sites (e.g. make them les deux **/W3SVC/1/Root**), mais J'ai essayé to edit that value in IIS under Advanced Settings, et bien que it saved OK, it juste made le site return 404s on that server jusqu'à I changed it back.

I [found a VBS script](http://technet.microsoft.com/en-us/library/cc739524%28WS.10%29.aspx) for this problem mais it seems to be for IIS 6 seulement so Je suis worried about trying it. Has anybody else encountered this situation on IIS 7.5, et how did you fix it?

**EDIT / SOLUTION**

My mistake was that I forgot to restart IIS après I changed le Site Instance ID in IIS. After this, le ID was updated et ASP.NET sessions were synced on le two web servers.

Full instructions:

- Remote Desktop onto server LIVE1, open IIS Mgr, cliquez sur le problem Site et choose **Advanced Settings** in le sidebar.

- Changez le ID to something unique e.g. 10. Click OK.

- Redémarrez le web service (`c:\windows\system32\iisreset /restart`)

Do le même for LIVE2 (ensure le Site ID is le même as on LIVE1)

Note that le site ID does affect le location of site files e.g log file folder would become `C:\inetpub\logs\LogFiles\W3SVC10` par exemple.

Note aussi that you could do these changes manually by editing le site **id** attribute in le IIS config file on chaque server: `C:\Windows\System32\inetsrv\config\applicationHost.config` . Requires admin privs et encore needs a reset afterwards.
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Problème d'état de session ASP.NET sur un serveur web IIS 7.5 à charge équilibrée

Message par ForumBot »

Judging by votre question it seems that you have a central session state server (DB?) that keeps track of le session data?

You must aussi synchronize le machine key qui is used for encryption for tout forms authentication etc to work. This might aussi affect le session identification, Je suis pas sure.

[Configuring Machine Keys in IIS 7](https://technet.microsoft.com/en-us/library/cc755177(WS.10).aspx)

De plus, you should make use of le shared configuration entre le machines, it might itself fix le issue avec différent machine keys.

[IIS Configuration Synchronization for Web Server Farm?](https://serverfault.com/questions/127409/iis-configuration-synchronization-for-web-server-farm)

EDIT: When you changed le site ID, did you essayez de restart IIS manager to see si le webroot had changed? Maybe le configuration is connected to le ID meaning that a change in ID aussi modifies stuff like le document root etc
Répondre

Revenir à « Windows Server 2025 »