我不知道怎么回事(这就是我想知道的)。
我有一个HttpHandler,它实现了IReadonlySessionState标记接口。我的想法是不更新处理程序中的Session变量。但是我们不小心调用了在会话中保存数据的代码,并且会话以某种方式保存了数据。
然后我们将项目移至Azure并决定使用Azure Cache。由于SessionStateProvider的更改,现在会话不保存数据(并且它不应该因为处理程序是只读的)。
我想知道默认会话提供程序中是否存在任何错误导致会话被保留,即使在Readonly Http Handler中进行操作也是如此。
答案 0 :(得分:0)
IReadOnlySessionState
告诉会话状态提供者该处理程序不需要保存会话状态
处理者没有义务拒绝保存任何东西。
默认处理程序没有任何理由不保存会话状态(因为它在进程中),所以它总是保存。