2011-03-16 157 views
4

我的問題是以下
Sharing session state between 2 ASP.NET applications using SQL ServerHow to maintain the same session id across multiple web applications in ASP.NET相反如何確保會話狀態不託管在同一臺服務器上的應用程序之間共享

我們的應用程序使用狀態服務器存儲會話信息和我們經常要託管的同一個服務器上的同一個應用程序的多個版本。

目前,由於ASP.NET_SessionId cookie不會存儲對任何路徑,如果我到http://donkey.com/app1,並開始一個新的會話,然後在同一瀏覽器會話,去http://donkey.com/app2,我繼承了會話ID(因而會話狀態)從app1。

有沒有辦法哄着ASP.Net當它存儲會話ID cookie設置路徑,從而打破會話狀態的這種不必要的共享?

+0

你是否已將應用程序分離到不同的應用程序池中? – Swaff 2011-03-18 17:09:19

回答

10

你將不得不使用不同的cookieName在web.config中每個Web應用程序。

默認爲 「ASP.NET_SessionId」。

您還可以通過編程設定。檢查this post

+0

我不知道我是如何設法錯過的。好一個。 – 2011-03-21 09:36:37

0

您可以使用子域名來實現這一目標。如http://app1.donkey.comhttp://app2.donkey.com。默認情況下 - Cookie不會跨域共享。

另一種方法是以編程方式設置cookie名稱,可能會基於某個配置值確定您使用的是哪個版本。

相關問題