Así configuré el estado de sesión del servidor SQL utilizando SQL Server 2008 y la base de datos temporal y hoy decidí buscar los datos en las tablas solo para encontrar esto en la tabla ASPStateTempApplications :Estado de sesión del servidor SQL, granja web y configuración de IIS
AppId AppName
538231025/lm/w3svc/1/root
611758131/lm/w3svc/3/root
802488340/lm/w3svc/4/root
-940,085,065/lm/w3svc/4/root/webapp
685293685/lm/w3svc/5/root
1210055478/lm/w3svc/5/root/webapp
Tenemos 2 servidores web de carga equilibrada.
Cuando miro los identificadores de las aplicaciones web de ambos servidores veo que web1 tiene app1 con id 4 y web2 tiene app1 con id 5. Lo mismo ocurre con la otra aplicación. web1 tiene app2 con id de 1 y web2 tiene app2 con id de 3.
Mi sentido común me dice que los servidores web no están compartiendo sesiones ya que el ID de sesión usa la aplicación. ¿Estoy en lo correcto? Si es así, ¿por qué este pequeño detalle no es tan obvio en la documentación? ¿Debo hacer que los ids coincidan en ambos servidores web?
+1 buena explicación. – Saar
De acuerdo con este artículo: http://msdn.microsoft.com/en-us/library/aa478952.aspx el sessionid de la tabla ASPStasteTempSessions es ID de sesión + ID de aplicación. ¿Qué tan seguro está de que ASP.NET cambie el ID de sesión del contexto y lo use en los servidores? –
Acabo de verificar con Fiddler y SSMS que el AppId efectivamente está concatenado al final del ID de sesión como la clave en la tabla ASPStateTempSessions. He actualizado mi respuesta en consecuencia. – RickNZ