【发布时间】:2012-04-03 00:10:03
【问题描述】:
我不喜欢使用 ASP.NET 会话状态,但我们的应用程序此时正在使用它。我们使用 SQL Server 模式来保持会话状态。我正在考虑在会话状态下缓存授权检查结果,但我担心这种方法的性能。 SQL Server 会话状态持久性在 .NET 中究竟是如何工作的?
据我所知,所有会话数据都存储在一个数据库行中,而数据本身存储在一列中。我担心的是,如果我们的应用程序在一个请求中执行 12 次不同的授权检查,并且每个结果在收到后立即存储,那么在存储这些项目时将发出 12 个不同的数据库请求,这将使我的任何网络请求减少无效努力完成。
是每个会话状态变化都伴随着一个同步的数据库请求,还是所有会话状态更改都在 ASP.NET 请求生命周期内同时持续存在?
【问题讨论】: