在用.netMVC 开发项目后 把webconfig中的 sessionState 设为StateServer 所有的Post提交都无效了。
在用.netMVC开发项目后把webconfig中的sessionState设为StateServer所有的Post提交都无效了。怎么办?...
在用.netMVC 开发项目后 把webconfig中的 sessionState 设为StateServer 所有的Post提交都无效了。怎么办?
展开
展开全部
其默认设置应该是“InProc”,在WEB.CONFIG中有这样一个注释:“
<!-- If you are deploying to a cloud environment that has multiple web server instances,
you should change session state mode from "InProc" to "Custom". In addition,
change the connection string named "DefaultConnection" to connect to an instance
of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. -->
”
因为不知道你设置StateServer的用意,以及之前默认状态是否可以Post提交,所以,建议你了解一下设置StateServer的介绍,然后再做修改:
“将mode属性设为StateServer,也就是将会话数据存储到单独的内存缓冲区中,再由单独一台机器上运行的Windows服务来控制这个缓冲区。状态服务全称是“ASP.NET State Service ”(aspnet_state.exe),它由Web.config文件中的stateConnectionString属性来配置。该属性指定了服务所在的服务器,以及要监视的端口:
<sessionState mode="StateServer" stateConnectionString="tcpip=myserver:42424" cookieless="false" timeout="20" />在这个例子中,状态服务在一台名为myserver的机器的42424端口(默认端口)运行。要在服务器上改变端口,可编辑HKLM/SYSTEM/CurrentControlSet/Services/aspnet_state注册表项中的Port值。显然,使用状态服务的优点在于进程隔离,并可在Web farm中共享。 使用这种模式,会话状态的存储将不依赖于iis进程的失败或者重启,然而,一旦状态服务中止,所有会话数据都会丢失。换言之,状态服务不像SQL Server那样能持久存储数据;它只是将数据存储在内存中。
”
参考链接:http://msdn.microsoft.com/zh-cn/library/h6bb9cz9(v=vs.85).aspx
http://blog.csdn.net/nihongyuan/article/details/4139928
<!-- If you are deploying to a cloud environment that has multiple web server instances,
you should change session state mode from "InProc" to "Custom". In addition,
change the connection string named "DefaultConnection" to connect to an instance
of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. -->
”
因为不知道你设置StateServer的用意,以及之前默认状态是否可以Post提交,所以,建议你了解一下设置StateServer的介绍,然后再做修改:
“将mode属性设为StateServer,也就是将会话数据存储到单独的内存缓冲区中,再由单独一台机器上运行的Windows服务来控制这个缓冲区。状态服务全称是“ASP.NET State Service ”(aspnet_state.exe),它由Web.config文件中的stateConnectionString属性来配置。该属性指定了服务所在的服务器,以及要监视的端口:
<sessionState mode="StateServer" stateConnectionString="tcpip=myserver:42424" cookieless="false" timeout="20" />在这个例子中,状态服务在一台名为myserver的机器的42424端口(默认端口)运行。要在服务器上改变端口,可编辑HKLM/SYSTEM/CurrentControlSet/Services/aspnet_state注册表项中的Port值。显然,使用状态服务的优点在于进程隔离,并可在Web farm中共享。 使用这种模式,会话状态的存储将不依赖于iis进程的失败或者重启,然而,一旦状态服务中止,所有会话数据都会丢失。换言之,状态服务不像SQL Server那样能持久存储数据;它只是将数据存储在内存中。
”
参考链接:http://msdn.microsoft.com/zh-cn/library/h6bb9cz9(v=vs.85).aspx
http://blog.csdn.net/nihongyuan/article/details/4139928
更多追问追答
追问
$.post("/Default/ClickLogin", paraps, function (data) {alert("aa");} 无法弹出aa
追答
如果用默认设置“InProc”,这个能弹出来吗?如果能就是设置问题,如果不是就是你的JS问题
2014-01-10
展开全部
如果没配置StateServer节点和开启StateServer服务的话 ,用户的会话状态是会一直丢失的。这可能是导致你post提交失败的原因。具体的情况要根据你代码来决定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-10
展开全部
学习了,解答的好详细
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询