Pregunta Modo de estado de sesión asp.net "SQLServer"


"Mi sitio web está en VIVO. Y este problema está relacionado con la configuración del tiempo de espera de la sesión en el servidor LIVE y no en el localhost".

Tengo un problema con la sesión que expira demasiado pronto. enlace en 2-5 minutos solamente. Intenté muchas cosas y finalmente decidí guardar la sesión en el modo "SQL Server"

en mi archivo web.config tengo la siguiente codificación:

<sessionState mode="SQLServer" cookieless="false" timeout="45"
sqlConnectionString="data source=xxx.xx.xx.xxx;uid=xxxxxxx;pwd=xxxxxxxx"/>

y tengo todas las tablas requeridas en la tabla ASPState en el servidor. Puedes verlo en la imagen de abajo.

enter image description here

Pero cuando ejecuto mi aplicación, arroja el siguiente error:

"No se puede usar SQL Server porque el estado de sesión de ASP.NET versión 2.0 no está instalado en el servidor SQL, o ASP.NET no tiene permiso para ejecutar el procedimiento almacenado dbo.TempGetVersion. Si el esquema de estado de sesión de ASP.NET no tiene instalado, instale ASP.NET Session State SQL Server versión 2.0 o superior. Si el esquema se ha instalado, otorgue permiso de ejecución en el procedimiento dbo.TempGetVersion almacenado a la identidad del grupo de aplicaciones ASP.NET o al usuario del servidor Sql especificado en el atributo sqlConnectionString ".

Imagen del error:

enter image description here

No puedo entender el problema exacto y cómo puedo resolverlo. Cualquier ayuda será apreciada.

Gracias


13
2018-03-13 08:39


origen


Respuestas:


Abra "Programabilidad" en su árbol y verifique primero si existe dbo.TempGetVersion. Probablemente no ha instalado el esquema apropiado.


5
2018-03-13 09:13



Para que esto funcione, ejecuté el comando con las siguientes opciones.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -S . -E -ssadd -sstype p

Yo creo que -ssadd La opción ("Agrega soporte para el estado de sesión del modo SQL Server") es lo que causó que configurara correctamente los procedimientos almacenados. Mira esto enlazar para completar la lista de opciones


27
2018-04-30 14:27



Quizás tengas una etiqueta incorrecta en tu web.config

Un ejemplo correcto debería ser:

<sessionState 
allowCustomSqlDatabase="true" 
mode="SQLServer" 
sqlConnectionString="data source=localhost;initial catalog=YourAspStateDatabase;user id=yourLogin;password=yourpassword" cookieless="false" timeout="30"/>

2
2018-03-13 19:29



Estuve atascado con esto y ninguna de las respuestas funcionó para mí, solo en caso de que alguien más tuviese este problema, esto fue lo que resolvió mi problema, me encontré en el cmd:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -C "Data Source=.\SQL2012;Integrated Security=True" -ssadd

Solo en caso de que alguien más quede atrapado en la misma situación que yo.


0
2018-05-10 22:36