ASP.NET会话范围:从哪里可以访问?

时间:2008-10-28 17:08:15

标签: asp.net session iis iis-6

这看起来微不足道,但我以前从来没有担心过,我的Google技能让我失望了。 ASP.NET/IIS6的进程内会话桶有多远,你可以调用Session [“whatever”]并获得相同的值?显然它不能跨越不同的服务器或应用程序池(我认为)。那个同一个应用程序池中的不同网站怎么样?这两个人可以为用户看到彼此的会话变量吗?两个不同的虚拟目录如何使用自己的web.config呢?

谢谢!

5 个答案:

答案 0 :(得分:2)

AFAIK 进程内会话具有AppDomain范围,因此,在同一个池中运行的两个Web应用程序无法共享进程内会话。实际上,“in-AppDomain”这个名称会更合适。

答案 1 :(得分:1)

  

显然它不能跨越不同的服务器

当然可以。 This MSDN Article有更多详情。

答案 2 :(得分:0)

如果asp.net会话存储在数据库中,它可以扩展到服务器场中的服务器。

出于安全原因,会话周边严格位于一个应用域内

答案 3 :(得分:0)

这听起来像存储数据库值比将其存储在进程内会话[“”]更好。如果您有状态服务器,则可以在使用相同状态服务器的所有计算机上访问该会话。 In-Proc就是它所说的。它存储在该单台计算机的进程中。

答案 4 :(得分:0)

如果您希望使用SQL Server后端跨应用程序共享Session,则有article如何执行此操作。