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

时间:2012-04-03 00:10:03

标签: asp.net sql-session-state

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

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

每个会话状态变异是否伴随同步数据库请求,或者在ASP.NET请求生命周期中是否一次持续存在会话状态更改?

1 个答案:

答案 0 :(得分:0)

ReleaseRequestState应用程序事件之后,每个ASP.NET请求结束时会保留会话,而不会更改会话数据。