2010-08-20 70 views
0

我得到HttpContext.Current.Session为null。HttpContext.Current.Session为空

如果我们在Web场中托管应用程序,这会是一个问题吗?

+0

你在哪里得到这个?在一个ASP.net页面? – Paddy 2010-08-20 09:16:22

+1

您能否提供更多信息? – 2010-08-20 09:16:31

+0

我正在ASP.Net页面中获取此。 – 2010-08-20 09:23:50

回答

2

根据您使用的会话类型,然后是,运行在农场可能会导致您的问题。如果负载均衡器或用于在服务器之间分割请求的内容是无状态的,那么它只会将请求转发到任何旧服务器。如果会话数据存储在proc中,那么它将只存储在一台服务器上。如果下一个请求转到另一个服务器,那么会话数据将不再存在。

要做到这一点的最佳方法是使用更智能的负载平衡,它将始终将一个用户请求转发到同一个服务器,或与另一个会话类型(例如独立于Web服务器的sessionServer)一起转发,并且可以提供一致的会话状态到所有Web服务器。

有人说过,我不希望当前会话状态在这些情况下为空,只是空的。我最近在启动看起来无法访问inproc会话状态的新线程的上下文中,自己在空会话间自我调用。

无论这些问题是否有问题,您都很难说,但值得一提的是服务器场的问题,以确保您了解。 :)

相关问题