【发布时间】:2012-02-12 14:37:33
【问题描述】:
我有一个包含 Web 应用程序的 Azure 项目。它在计算模拟器中运行两个实例。我已经为会话状态添加了通用提供程序,目前正将其指向 SQL Express 数据库。
创建会话后,我可以看到它正在数据库中创建。
当我将某些内容添加到会话状态时,它似乎已存储到数据库中。我说出现是因为我实际上并没有反序列化数据......我只是看到正在写入,并且在同一个实例上数据反序列化很好。
但问题是,如果我碰巧连接到第二个实例,则会话数据不可用。如果在第二个实例上我将数据存储到会话中,那么它将作为新会话写入数据库。问题是,会话 cookie 中的会话 ID 保持不变,但数据库表会为每个实例创建新记录:
表中的SessionID:
0gong5ihsrjakfzry53e4rtm/LM/W3SVC/1273337584/ROOT 0gong5ihsrjakfzry53e4rtm/LM/W3SVC/1273337585/ROOT
为了测试,我尝试更改 web.config 中的 applicationName 并设置 cookieless=false。
知道出了什么问题吗?
【问题讨论】:
标签: azure provider universal session-state