我们将更新我们的asp.net应用程序以在州服务器中保存会话。更新后需要注意避免问题吗?
它将在IIS 6和IIS 7中运行。
谢谢, P.Gopalakrishnan
答案 0 :(得分:3)
我相信StateServer将强制要求存储在Session中的所有对象都必须是可序列化的。这可能不是InProc强制执行的。
在投入生产之前一定要进行测试。
答案 1 :(得分:0)
在IIS7上没试过这个,但在IIS6上,只是修改web.config以指定状态服务器的情况。然而,John Saunders对于序列化问题是正确的,我猜我很幸运,但我将在未来按照Brian Reiter的建议更改我的所有开发以使用State Server。
一个很好的副作用是,您可以在使用状态服务器时增加工作进程的数量,因为它们都可以从服务器共享状态(而通常状态将在进程中)。
来自MSDN的说明:
要在Web场中使用StateServer模式, 您必须具有相同的加密密钥 在machineKey元素中指定的 所有人的Web配置 属于Web的应用程序 农场。有关如何创建的信息 机器钥匙,见文章313091,“如何 使用Visual Basic创建键 .NET用于Forms身份验证,“ 在Microsoft知识库中 http://support.microsoft.com
答案 2 :(得分:0)
您需要确保当前存储在会话状态中的对象标记为可序列化 重构可能很重要