¿Cómo maneja Microsoft Azure el Estado de la sesión?


¿Alguien tiene información sobre cómo se administra el estado en Azure cuando elige tener varias instancias? Parece que InProc no tendría ningún valor y tendría que tener otra instancia de servidor de estado, o usar el almacén de datos para almacenar el estado de los usuarios en los servidores.

O implementa sesiones adhesivas, por lo que InProc es todo lo que necesita.

Encontré la respuesta aquí: Foros de Azure

Author: David Makogon, 2009-06-21

4 answers

El almacenamiento de tablas sería el lugar más lógico. Otras configuraciones de tipo de granja de servidores también usan una tabla de base de datos para almacenar información de sesión.

Eche un vistazo al proyecto AspProviders en las muestras de Windows Azure SDK. Tiene un proveedor de SessionState que utiliza Azure Table Storage.

 18
Author: CoderDennis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-21 03:36:52

AppFabric Cache acaba de entrar en producción, y esta es una excelente manera de administrar los datos de la sesión. De hecho, tiene un proveedor de estado de sesión personalizado que simplemente cae en la web.config. Lo encontrará en el portal de Azure.

Toda la información sobre tamaños de caché, precios y SLA está aquí.

Editar: Las plantillas de rol Web de Windows Azure ahora incluyen la nueva ASP.NET Proveedores universales, incluido un proveedor de estado de sesión que admite SQL Azure. Echa un vistazo a Nate Totten del blog post para más detalles.

EDITAR 7/8/2012 Windows Azure ahora proporciona un rol de caché y caché en memoria (ambos fácilmente configurables con las últimas herramientas y SDK v1.7). La caché en memoria distribuye la caché a través de una de sus instancias de roles existentes, utilizando un porcentaje establecido de RAM (buena opción "gratis" si no necesita mucha RAM en su aplicación).

 13
Author: David Makogon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-08 20:53:21

No requiere afinidad de sesión y, por lo tanto, el uso de proveedores de estado de sesión que dependen de Azure storage o SQL Azure storage es la mejor opción.

Para algunas aplicaciones heredadas es posible que aún necesite afinidad de sesión. Para esos casos, ARR entre Azure load balancer y el Web farm es una opción.

Más detalles en http://go.archims.fr/hW54Xz

 2
Author: Benjamin Guinebertière,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-26 10:14:10

Otra opción sería usar sesiones http adhesivas:

Http://dunnry.com/blog/2010/10/14/StickyHTTPSessionRoutingInWindowsAzure.aspx

Entonces podría usar InProc.

 1
Author: Tom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-08 13:41:37