Asp.net SQL支持的会话

时间:2012-08-03 14:20:11

标签: asp.net

如果我有SQL Server支持的会话并运行像

这样的命令序列
HttpContext.Current.Session['user']
HttpContext.Current.Session['user']

这会向会话数据库表发出2个请求来获取值,还是asp.net会对Session对象做什么特别的事情以防止多个数据库命中?

1 个答案:

答案 0 :(得分:1)

肯定是的。

我有SQL服务器会话状态设置,我在上面运行了Profiler。并且可以清楚地看到优化的DB调用。 如果事实上有一次优化获得多个会话项目。

如下面的代码也会导致SINGLE优化的一组调用(注意:它不是一个普通的单个DB调用来获取会话项)

HttpContext.Current.Session['user']
HttpContext.Current.Session['userTwo']

注意:在.NET 4中测试

如果需要,您可以实施自己的会话状态提供程序。 http://msdn.microsoft.com/en-us/library/ms178587.aspx