IReadonlySessionState的奇怪行为

时间:2013-12-06 13:16:07

标签: asp.net session

我不知道怎么回事(这就是我想知道的)。

我有一个HttpHandler,它实现了IReadonlySessionState标记接口。我的想法是不更新处理程序中的Session变量。但是我们不小心调用了在会话中保存数据的代码,并且会话以某种方式保存了数据。

然后我们将项目移至Azure并决定使用Azure Cache。由于SessionStateProvider的更改,现在会话不保存数据(并且它不应该因为处理程序是只读的)。

我想知道默认会话提供程序中是否存在任何错误导致会话被保留,即使在Readonly Http Handler中进行操作也是如此。

1 个答案:

答案 0 :(得分:0)

IReadOnlySessionState告诉会话状态提供者该处理程序不需要保存会话状态 处理者没有义务拒绝保存任何东西。

默认处理程序没有任何理由不保存会话状态(因为它在进程中),所以它总是保存。