我有一个Asp.net Mvc移动应用程序,前端有jquery编码。它似乎丢失了会话变量,所以我将会话状态从进程内更改为sql server。
我跑了: C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regsql -S NTST-OH-VRS01 -U dbo -P传递@ 2014 -ssadd -sstype p
并确认ASP服务器中存在ASPState数据库。
我在web.conifg中添加了sessionState:
<sessionState allowCustomSqlDatabase="true" customProvider="DefaultSessionProvider" mode="SQLServer" sqlConnectionString="Server=NTST-OH-VRS01;Database=ASPState;User ID=dbo;Password=pass@2014" timeout="30">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>
并重新启动应用程序池。
现在,当浏览器运行$ .post(url,...,function(result){...})时,它永远不会从Web服务器返回。当我将会话状态更改回进程中时,它再次正常工作。
你们知道我做错了吗?
答案 0 :(得分:1)
In Process将始终有效,因为这意味着它正在使用Web服务器上的RAM。使用SQL Server可能有点棘手。您可能正在尝试连接到SQL Server。查看请求是否在30秒后返回。另请检查以下内容: