簡體   English   中英

如何在同一台機器和同一應用程序池中的 ASP.NET Web 應用程序之間共享會話?

[英]How to share sessions between ASP.NET Web Apps in same machine and same application pool?

我在同一台機器上有兩個 ASP.NET Web 應用程序;

1) ASP.NET WebForm 網絡應用程序 - wwwroot/publicsite
2) ASP.NET MVC web 應用程序——wwwroot/test/mysite

我可以創建一個應用程序池並將其設置為兩個 Web 應用程序。

是否有任何簡單的方法可以在不通過 DB 使用自定義會話提供程序的情況下在兩個 Web 應用程序之間共享會話?
(比如修改 web.config 等)

此致。

所以,我還沒有開發這個,所以我會描述這個場景,當我編碼后我可以編輯這個答案,但這里是短期的:

您可以編輯頁面類(並使用該自定義頁面類或 HttpApplication 類)以使用序列化將會話對象“保存”到 cookie 中,並在頁面的加載(或開始請求,如果在 httpapplication 上設置)時獲取該 cookie。 因此,任何站點都會為會話對象查詢相同的 cookie(因為 SessionState 類基本上是對象的集合 - 請參閱SessionState 的 MSDN 代碼頁)。 如果兩個應用程序使用相同的基類和自定義 Page(或 HttpApplication)類,在開始請求和寫入響應時間序列化和反序列化會話對象,您只需要這些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM