我有一个包含Web应用程序的Azure项目。它在计算模拟器中运行两个实例。我已经为会话状态添加了通用提供程序,并且我当前将它指向SQL Express数据库。
创建会话时,我可以看到它正在数据库中创建。
当我在会话状态中添加内容时,它似乎存储在数据库中。我说看起来是因为我实际上没有对数据进行反序列化...我只是看到正在进行写入,并且在同一个实例上,数据反序列化很好。
但问题是,如果我碰巧连接到第二个实例,则会话数据不可用。如果在第二个实例上,我将数据存储到会话中,然后将其作为新会话写入数据库。事实是,会话ID在会话cookie中保持不变,但数据库表为每个实例创建新记录:
表中的SessionID:
0gong5ihsrjakfzry53e4rtm / LM / W3SVC / 1273337584 / ROOT 0gong5ihsrjakfzry53e4rtm / LM / W3SVC / 1273337585 / ROOT
为了测试,我尝试在web.config中更改applicationName并设置cookieless = false。
知道出了什么问题吗?
答案 0 :(得分:0)
您在部署应用程序时是否发现了相同的行为?我相信这是在模拟器中观察到的一个问题,但在Azure本身,它按预期工作。
请参阅this thread on the MSDN Forums了解解决方法。