2008-12-15 209 views
2

我需要维护数据库中的会话状态。但是我无法直接从Web服务器访问数据库。 Web服务器与应用程序服务器进行通信,该服务器又可以访问数据库。
有没有办法配置这个?或者必须编写自定义组件。
此设置的原因是为了实现负载平衡并允许用户的会话从一台服务器重定向到另一台服务器。管理会话状态

回答

1

你可以写一个自定义的SessionState提供程序..我认为这是唯一的方法..看看MSDN here

+0

如果我知道你有使用StateServer的选项,我会首先推荐它。它比SQL Server存储更快,其唯一缺点是无法在其主机的物理重启之后存活。通常这不应该是一个问题。 – 2008-12-16 02:09:17

3

需要注意的是,如果你认为你需要存储会话在数据库中,因为你正在使用多个Web服务器,这是不是这样的:你可以使用StateServer。这意味着您可以在一台机器上启用会话状态服务,并在所有Web服务器的web.config中设置该机器,以便它们都使用同一台机器进行状态。

+0

你的意思是说我可以配置App服务器来将会话作为“StateServer”进行管理吗? – Developer 2008-12-15 23:15:55

4

使用ASP.NET会话状态服务,您可以直接在您的应用服务器上运行此服务 - 请参阅MSDN here上的说明 - 并配置您的所有Web主机以将其用户会话状态存储在该中央状态服务器上。 ASP.NET会话状态服务将会话存储在应用程序服务器上的内存中,并且不需要SQL Server数据库。