0

我们将更新我们的 asp.net 应用程序以将会话保存在状态服务器中。需要注意避免更新后出现问题吗?

它将在 IIS 6 和 IIS 7 中运行。

谢谢,P.Gopalakrishnan

4

3 回答 3

3

我相信 StateServer 将强制要求存储在 Session 中的所有对象都必须是可序列化的。这可能没有被 InProc 强制执行。

请务必在投入生产之前进行测试。

于 2009-06-27T14:45:24.927 回答
0

您需要确保当前存储在会话状态中的对象被标记为可序列化重构可能是实质性的

http://msdn.microsoft.com/en-us/library/ms178581.aspx

于 2009-06-27T15:38:19.390 回答
0

没有在 IIS7 上尝试过,但在 IIS6 上,这只是修改 web.config 以指定状态服务器的情况。然而,John Saunders 关于序列化问题在上面是正确的,我想我只是幸运,但我将按照 Brian Reiter 的建议改变我的所有开发以使用 State Server。

一个很好的副作用是,您可以在使用状态服务器时增加工作进程的数量,因为它们都可以共享来自服务器的状态(而通常状态会在进程中)。

来自 MSDN 的注释:

要在 Web 场中使用 StateServer 模式,您必须在 Web 配置的 machineKey 元素中为属于 Web 场的所有应用程序指定相同的加密密钥。有关如何创建计算机密钥的信息,请参阅 Microsoft 知识库 http://support.microsoft.com中的文章 313091“如何使用 Visual Basic .NET 创建密钥以用于 Forms 身份验证” 。

于 2009-06-27T14:42:34.230 回答