我不知道這是否有可能改變基於應用程序正在運行的域在ASP.net用於SessionState會的sqlConnectionString?ASP.Net會話狀態
場景;我們有20個站點從一個應用程序運行,全部與不同的數據庫交談,具體取決於他們正在瀏覽哪個域(站點)。
當瀏覽www.domain1.com應用會談到數據庫「DB1」。另一方面,www.domain2.com網站會與數據庫'db2'進行對話,從而選擇相關內容並將負載分散到每個數據庫,而不是使用一個主數據庫來處理站點的所有連接。
雖然已經出現了一個問題 - 對於此設置,我們使用SessionState的SqlServer模式,以便所有站點會話的所有用戶都存儲在1個aspstate數據庫中,現在當網站變得繁忙/網站數量增加時,處理所有網站的所有會話請求的壓力越來越大,並且我們在與此數據庫的連接存在瓶頸的情況下開始出現一些超時錯誤。
我們可以從他們自己的應用程序獨立出來的網站,並建立不同的應用程序使用相同的代碼,但每個應用程序中設置的每個Web.config不同的會話數據庫,從而減輕負載。這項任務雖然會相當耗時,並且會導致長期更多的管理。所以......我很想知道在創建會話對象之前,是否可以在代碼中修改用於基於域的SessionState的sqlConnectionString?我們可以從System.Web.HttpApplication繼承並使用Application_AcquireRequestState事件創建HttpSessionState對象的必需設置嗎?
希望這是有道理的,並且有人可以提供一些指引,並證明給我看,這是不是一個白日夢!
乾杯, 史蒂夫
我認爲有用於所有20個領域一個web.config中...... – chris166 2009-06-13 12:29:25