2

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

谢谢 。

4

2 回答 2

4

如果你想使用 SQL Server 作为会话状态服务器,把这个片段放在你的 web.config 中:

<sessionState
  mode="SQLServer"
  sqlConnectionString="data source=server;user id=uid;password=pwd"
  cookieless="false" timeout="20" />

请记住,为了将 Session 序列化到状态服务器,您应该在 Session 中放入可序列化的对象,否则您将获得异常。

我们过去遇到过这个问题,不得不检查代码中的任何地方,并使所有对象都存储在会话中可序列化;对于某些课程来说,其他课程很容易。

您还可以阅读这篇文章:使用 SQL Server 处理 ASP.Net 会话状态或您在网上找到的任何其他文章;-)

编辑:对于 StateServer,您应该将 web.config 中的 mode 属性更改为值:StateServer

为此,SO 中也有文章、示例和讨论:

ASP.NET:使用 StateServer 将会话移出进程(ASP.NET 中的冒险)

扩展 ASP.NET 会话状态服务器(SO)

于 2011-09-16T10:28:04.580 回答
3

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

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

第 2 步:从Control Panel => Administrative tools => Services启动名为“ ASP.NET State Service”的服务

而已。

于 2011-09-16T12:10:51.287 回答