我已经按照以下说明使用会话状态管理实现了一个 Web 应用程序:
http://en.aspnet-bhs.info/post/State-Server-Partitioning.aspx
我的 SessionIDManager 继承者包括以下代码:
public class SessionIdManager : System.Web.SessionState.SessionIDManager
{
public override string CreateSessionID(System.Web.HttpContext context)
{...}
我的 web.config 包含以下代码:
<machineKey
validationKey="1234567890123456789012345678901234567890AAAAAAAAAA"
decryptionKey="123456789012345678901234567890123456789012345678"
validation="SHA1"
decryption="Auto"
/>
...
<sessionState
mode="StateServer"
partitionResolverType="PartitionResolver"
sessionIDManagerType="SessionIdManager"
cookieless="false"
timeout="20"
/>
但是 CreateSessionID 方法永远不会被调用,因此会话 ID 不会使用适当的服务器 ID 进行修改。
有人可以告诉我发生了什么或者我可能还需要考虑文章中未提及的内容吗?
我正在使用 .NET2 和 VS2k5。
谢谢,
马特。