我需要将Asp.Net应用程序的会话状态转移到状态服务器。有没有人有关于如何做的经验?
谢谢。
答案 0 :(得分:4)
如果要将SQL Server用作会话状态服务器,请将此代码段放在web.config中:
<sessionState
mode="SQLServer"
sqlConnectionString="data source=server;user id=uid;password=pwd"
cookieless="false" timeout="20" />
请记住,为了将会话序列化为状态服务器,您应该放入Session only 可序列化对象,否则您将获得例外。
我们过去遇到过这个问题,不得不检查代码中的所有地方,并将所有对象存储在会话中Serializable;对于某些课程来说,对其他人来说很容易。
您还可以阅读这篇文章:Using SQL Server for ASP.Net session state或您在网上找到的任何其他文章; - )
对于StateServer,编辑,您应该将web.config中的mode属性更改为值: StateServer 。
此外,还有文章,例子和讨论也在SO中:
ASP.NET: Moving Session Out-of-Process with StateServer(ASP.NET中的冒险)
答案 1 :(得分:3)
步骤1:在web.config的System.Web配置部分添加以下
<sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" />
第2步:从Control Panel => Administrative tools => Services
开始,调用名为“ASP.NET State Service
”的服务
就是这样。