2008-12-15 188 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數據庫。