如果Session在readonly模式下写入,我想找到一种方法来引发异常。当EnableSessionState设置为“ReadOnly”时,值仍然可以放在Session中,但是下一个请求它们将不在那里。这似乎有点危险。
一个选项是创建一个我们总是用来访问会话的帮助器类。但是,这仍然为开发人员无意中直接使用会话留下了空间,并陷入“只读”陷阱。有没有办法创建一个位于现有会话代码之上的CustomSessionStateDataStore?我看不到明显的方法,你不能直接从System.Web.SessionState.SessionStateStoreData继承。
感谢您的帮助
答案 0 :(得分:1)
会话状态是在提供者模型上构建的,因此您可以创建自定义会话提供程序。
这是一篇从高级视图讨论提供者模型的文章:ASP.NET 2.0 Provider Model: Introduction to the Provider Model。
这是一篇讨论会话状态提供程序的文章,并展示了如何创建自己的自定义提供程序:Session State Providers。
答案 1 :(得分:0)
我最终实现了自己的SessionStateModule来实现我所需要的。有关详细信息,请参阅此主题:I just discovered why all ASP.Net websites are slow, and I am trying to work out what to do about it