.net visual-studio-2010 session asp.net-mvc-2

.net - El estado de la sesión solo se puede usar cuando enableSessionState se establece en verdadero en una configuración



visual-studio-2010 asp.net-mvc-2 (12)

Estoy trabajando en la aplicación Asp.net MVC 2 con c # usando vs 2010. Tengo el error mencionado más abajo cuando ejecuto mi aplicación localmente en modo de depuración.

La imagen del mensaje de error es la siguiente:

El mensaje de error es el siguiente:

El estado de la sesión solo se puede usar cuando enableSessionState se establece en verdadero, ya sea en un archivo de configuración o en la directiva de la página. Asegúrese también de que System.Web.SessionStateModule o un módulo de estado de sesión personalizado esté incluido en la sección <configuration>/<system.web>/<httpModules> en la configuración de la aplicación.

Lo que hice para resolver este problema es el siguiente:

Prueba 1: el archivo web.config se modificó como se muestra a continuación:

<system.webServer> <modules runAllManagedModulesForAllRequests="true"> <remove name="Session" /> <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </modules> </system.webServer

Prueba 2 es como a continuación:

Pero desafortunadamente todavía estoy teniendo el mismo problema que he mencionado anteriormente.

ACTUALIZAR

¿Tienes alguna solución para esto?


  1. Podría ser su skype interceptando sus solicitudes en el puerto 80, en las opciones de Skype desmarque
  2. O su IE tiene una conexión marcada para Proxy cuando no hay proxy
  3. O tu violinista podría interceptar y actuar como proxy, ¡desmárcala!

Resuelve el problema anterior, ¡resolvió el mío!

HydTechie


¿Habilitó también el estado de la sesión en la sección?

<system.web> <pages enableSessionState="true" /> </system.web>

¿O lo agregaste a la página?

<%@Page enableSessionState="true">

¿Y confirmó que se está ejecutando el ASP.NET Session State Manager Service servicio de ASP.NET Session State Manager Service ? En tu captura de pantalla no es así. Está configurado en el modo de inicio Manual que requiere que lo inicies cada vez que quieras utilizarlo. Para iniciarlo, resalte el servicio y haga clic en el botón verde de reproducción en la barra de herramientas. Para iniciarlo automáticamente, edite las propiedades y ajuste el tipo de Inicio.

O establezca la propiedad de modo de InProc en InProc , de modo que no se requiera el servicio de estado.

<system.web> <sessionState mode="InProc" /> </system.web>

Consulte MSDN para conocer todas las opciones disponibles en lo que respecta al almacenamiento de datos en el estado de la sesión ASP.NET .

Nota: es mejor que su Controlador obtenga el valor de la sesión y que agregue el valor al Modelo para su página / control (o al ViewBag), de esa manera la Vista no depende de la HttpSession y puede elegir una fuente diferente para este elemento más tarde con cambios mínimos de código. O mejor aún, no usar el estado de la sesión en absoluto . Puede matar tu rendimiento cuando utilizas muchas llamadas javascript asincrónicas.


El estado de la sesión puede romperse si tiene lo siguiente en Web.Config:

<httpModules> <clear/> </httpModules>

Si este es el caso, es posible que desee comentar dicha sección, y no necesitará ningún otro cambio para solucionar este problema.


En mi caso, el problema desapareció simplemente usando HttpContext.Current.Session lugar de Session


En realidad, jessehouwing dio la solución para el escenario normal.

Pero en mi caso, he habilitado 2 tipos de sesión en mi web.config file

Es como a continuación.

El primero :

<modules runAllManagedModulesForAllRequests="true"> <remove name="Session" /> <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </modules>

Segundo :

<sessionState mode="Custom" customProvider="DefaultSessionProvider"> <providers> <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="PawLoyalty" applicationName="PawLoyalty"/> </providers> </sessionState>

Entonces, en mi caso, tengo que comentar el segundo. Eso es para la producción. Cuando comenté el segundo, mi problema desapareció.


Este error se me planteó debido a una excepción no controlada lanzada en la función de constructor Public Sub New() (Visual Basic) de la página web en el código subyacente.

Si implementa la función constructora, envuelva el código en una instrucción Try / Catch y vea si resuelve el problema.


Me doy cuenta de que hay una respuesta aceptada, pero esto puede ayudar a la gente. Descubrí que tenía un problema similar con un sitio ASP.NET que usa NET Framework al ejecutarlo en Visual Studio 2012 usando IIS Express 8. Probé todas las soluciones anteriores y ninguna funcionó, al final ejecuto la solución en el el servidor web VS 2012 integrado funcionó. No estoy seguro por qué, pero sospecho que era un enlace entre 3.5 framework e IIS 8.


Quiero que todos sepan que a veces este error es el resultado de algún extraño error de memoria. Reinicia tu pc y vuelve a Visual Studio y se habrá ido. ¡Extraño! ¡Inténtalo antes de que comiences a jugar con tu archivo de configuración web, etc., como yo lo hice! ;-)


Tengo este error solo al depurar la aplicación ASP .Net.

También tuve el tipo de variables Session["mysession"] agregadas a mi Watch of Visual Studio.

el problema se resolvió Una vez, he eliminado las variables de sesión de la observación.


también si está ejecutando SharePoint y encuentra este error, no se olvide de ejecutar

Enable-SPSessionStateService -DefaultProvision

o continuará recibiendo el mensaje de error anterior.


La siguiente respuesta del camino dado funcionó bien.

¡Encontré una solución que funcionó a la perfección! Agregue lo siguiente a web.config:

<system.webServer> <modules> <!-- UrlRewriter code here --> <remove name="Session" /> <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" /> </modules> </system.webServer>

¡Espero que esto ayude a alguien más!


Para SharePoint Puede encontrar el archivo de configuración web en C: / inetpub / wwwroot / wss / VirtualDirectories / Sitecollection número de puerto - y hacer cambios

<system.web> <pages enableSessionState="true" /> </system.web>

y el uso del Shell de administración de SharePoint se ejecuta debajo del comando

Enable-SPSessionStateService -DefaultProvision