我需要将 Asp.Net 应用程序的会话状态传输到状态服务器。有没有人有关于如何做到这一点的经验?
谢谢 。
如果你想使用 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 中的冒险)
第 1 步:在 web.config 的 System.Web 配置部分添加以下内容
<sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" />
第 2 步:从Control Panel => Administrative tools => Services
启动名为“ ASP.NET State Service
”的服务
而已。