SQL Server会话状态持久性是如何工作的



我不喜欢使用ASP.NET会话状态,但我们的应用程序目前正在使用它。我们使用SQL Server模式进行会话状态持久化。我正在考虑在会话状态下缓存授权检查结果,但我担心这种方法的性能。SQL Server会话状态持久性在.NET中究竟是如何工作的?

据我所知,所有会话数据都存储在一个数据库行中,数据本身存储在一列中。我担心的是,如果我们的应用程序在一个请求中进行12种不同的授权检查,并且每个结果在收到后立即存储,那么在存储这些项目时,将发出12种不同数据库请求,这将使我试图实现的任何网络请求减少无效。

每个会话状态的变化是否都伴随着同步数据库请求,或者在ASP.NET请求生命周期中,所有会话状态的更改是否都同时保持?

会话在ReleaseRequestState应用程序事件后的每个ASP.NET请求结束时持久化,而不是在会话数据更改时持久化。

最新更新