martes, 29 de septiembre de 2009

Controlar Web Farms Applications

Desarrollar Web Site bajo ASP.Net es realmente sencillo, donde con pocos conocimientos puedes desarrollar tu sitio sin tener que hacer un gran inversión en tiempo y dinero para iniciarte en este mundo, a diferencias de otros tecnologías Web. Pero a la hora de desarrollar herramientas más complejas, las cosas no son tan sencillas como muchas veces aparecen en Internet y es el punto donde comenzamos a visualizar errores extraños que son casis imposibles de depurar. Un ejemplo de estos es cuando tenemos que desarrollar un sitio Web que va a ejecutarse en varios servidores conocidos como Web Farm, y donde hay algunos detallitos que tenemos que tomar en cuenta a la hora de manejar los estados de la aplicación, como son las variables de application, session y Cache.

Lo primero que debemos hacer es definir en el Web.Config le identificador de la máquina que va a ejecutar una determinada página cuando sea solicitada por el Web farm. Para eso debemos generar un llave para comparar que debemos colocarla en la sección de tu machine.config o web.config:

<machine validationKey="0000...0000"
decryptionKey="00...00"
validation="SHA1"
decryption="AES"
/>
El validationkey debe ser de 64 bites (128 caracteres hexadecimales) mientras que el decryptionkey de 32 bytes (64 caracteres hexadecimales).

Para más información pueden visitar:
http://msdn.microsoft.com/en-us/library/ms998288.aspx

Otra técnica es guardar los state server en SQLServer mediante la configuración Stateserver o sqlserver de ASP.Net Sessions en vez de Inproc, con esto evitamos tener la sesión almacenada físicamente en un lugar donde cualquiera de los servidores puedan acceder a la misma.

No hay comentarios: