wingtip toys sesión pudo net expirado encontrar asp c# asp.net windows-8 iis-7.5 visual-studio-2012

c# - toys - la sesión asp net ha expirado o no se pudo encontrar



La sesión de ASP.Net Inproc se reinició después del cambio de marca en VS2012 (5)

El problema aquí es que su aplicación está haciendo una compilación dinámica, lo que significa que cualquier cambio en los archivos de marcado hará que la aplicación se reinicie. Cualquier reinicio de la aplicación, como usted sabe, volcará la sesión de InProc.

Una "aplicación web" en su plantilla local se configura de manera diferente, por lo que no se reinicia toda la aplicación. Sin embargo, hay ventajas de tener precompilación.

Hay un par de maneras de evitar esto.

Por que esta pasando

ASP.NET 4.5 le permite ejecutar "páginas web" lado a lado con "aplicaciones web" de forma predeterminada. Esto es probablemente lo que está causando cambios en un aspx para disparar una precomilación (qué "páginas web" tienen que hacer cada vez que hay un cambio). Más información aquí: http://msdn.microsoft.com/en-us/library/dd547590.aspx

También hay bastantes cambios para optimizar el servidor web en la nueva versión. Puede ver los detalles de esos cambios aquí y también pueden explicar el cambio cuando realiza la actualización. http://www.asp.net/vnext/overview/aspnet/whats-new

La solución sigue siendo la misma sin importar y no se recomienda actualizar archivos aspx individuales sobre la marcha. Si es inevitable, entonces el reinicio habrá ocurrido eventualmente en cualquier configuración, así que vale la pena usar una de las siguientes soluciones de todos modos.

Soluciones

Modo de compilación

Compruebe el CompilationMode en su web.config. Para obtener más información, consulte esta publicación http://www.campusmvp.net/compilationmode-avoiding-aspx-page-compilation-to-improve-scalability-in-sites-with-thousands-of-pages/

Esto también puede configurarse a nivel de servidor para que pueda obtener diferencias por entorno.

Modo de estado de sesión

Puede ejecutar el estado de su sesión en modo StateServer o usando el servidor Sql. El servidor de estado ASP.NET estará sentado en su servidor si .net está instalado y solo necesita configurarse para que se inicie automáticamente. A continuación, puede simplemente cambiarlo en la configuración.

<sessionState mode="StateServer" useHostingIdentity="true" cookieless="false" timeout="120" stateConnectionString="tcpip=127.0.0.1:42424" />

Siempre ejecutamos el servidor de estado ASP.NET para el desarrollo y, en muchos casos, en producción. Me parece que cuando se prueban rutas de usuario largas (como un asistente de formulario con muchos formularios) es muy molesto tener una sesión cada vez que se reconstruye. Eso también significará que no perderá la sesión al reiniciar la aplicación.

También puede utilizar el servidor SQL de la misma manera.

NOTA: Debe recordar que si está serializando clases en el estado de sesión y realiza cambios, deberá reiniciar manualmente el servidor de estado o obtendrá errores de serialización. Esto es muy raro, pero solo para tenerlo en cuenta en los entornos de producción.

Actualicé mi máquina de desarrollo a Windows 8 y Visual Studio 2012.

Estoy probando mis aplicaciones ASP.Net (también actualizadas a .net 4.5) en un IIS local.

Una cosa que me molesta, que no ha sido así con mi última configuración (Windows 7, VS 2010, .net 4.0), es que las sesiones InProc se están reiniciando después de los cambios en los archivos de marcado.

Ejemplo: inicié sesión en mi aplicación ASP.net local, realice y guarde cambios en un archivo * .ascx, actualice mi navegador web y la sesión se habrá ido.

¿Cómo desactivo el problema de reinicio de sesión?

Edición : intenté volver a solucionar el problema con la nueva plantilla de proyecto de la aplicación web de VS 2012, eliminé el contenido innecesario y no pude repetir este problema.

Sin embargo, en mi proyecto real, el problema persiste: los cambios en un archivo aspx o ascx provocan que se desencadene el evento Application_Start.

También reduje el web.config en mi proyecto real al mínimo para parecerme al del nuevo proyecto, pero eso tampoco me permitió eliminar el error. Las cosas que comenté en el web.config fueron los controles DevExpress, el monitoreo de salud personalizado, IIS UrlRewrite 2

Applicationpool como Integrated, v4.0 con NetworkService como Identity


No voy a tratar de tomar el crédito por esto, pero la respuesta está oculta en el comentario 11 sobre la pregunta original de @ Anand :

Agregue esta clave en web.config:

<appSettings><add key="PageInspector:ServerCodeMappingSupport" value="Disabled" /></appSettings>

y el problema desaparece. VS se vuelve mucho más sensible también. El único inconveniente es que se pierde el engaño del lado del servidor de Page Inspector.

Esperemos que MS proporcione una solución pronto ..


Puede probar el modo de estado de sesión del servidor SQL.



cuando se utiliza el modo in-proc, los datos de la sesión se alojan en la memoria del servidor. Debe verificar en su IIS el tiempo de reciclaje del grupo de aplicaciones.

Aclamaciones,