Asp.Net如何将会话状态转移到State Server

时间:2011-09-16 10:22:20

标签: asp.net session-state stateserver

我需要将Asp.Net应用程序的会话状态转移到状态服务器。有没有人有关于如何做的经验?

谢谢。

2 个答案:

答案 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中的冒险)

Scaling up the ASP.NET session state server(SO)

答案 1 :(得分:3)

步骤1:在web.config的System.Web配置部分添加以下

<sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" />

第2步:从Control Panel => Administrative tools => Services开始,调用名为“ASP.NET State Service”的服务

就是这样。