如何修改会话状态服务器的MachineKey?

时间:2010-07-20 13:15:03

标签: asp.net session session-state

我正在尝试实现SessionState服务器以允许多个Web服务器共享相同的状态。首先,这将是不同的开发机器,后来它将是Web场中的不同Web服务器。

到目前为止,我认为我取得了很好的进展,但其中一个要求令我感到困惑。为了实现这一点,我需要确保所有Web服务器都使用相同的机器密钥。

这是一个取自本地开发机器的示例MachineKey:

<section name="machineKey" 
 type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
 allowDefinition="MachineToApplication"/>

如果我们在本地部署了会话状态服务器,我是否需要确保使用此服务的所有其他计算机(特别是其他开发人员在同一个项目上工作,然后在我们部署到Web服务器场时)具有准确性他们的Machine.Config文件中的相同条目?

或者我是否必须以某种方式生成可应用于所有机器的新机器密钥?

2 个答案:

答案 0 :(得分:2)

我最终使用了这个:

http://www.developmentnow.com/articles/machinekey_generator.aspx

编辑[SoftwareMonkey]:

现在看来这可能是页面:

http://aspnetresources.com/tools/machineKey

答案 1 :(得分:0)

MachineKey是密钥,会话被加密到用户。

这意味着,它们仅对Web服务器有用。因为他们正在加密它到客户端请求。 我认为SessionState机器密钥根本不重要(但我现在没有找到文件说明......)