2011-03-04 99 views
2

是否可以在Web應用程序中使用在WCF服務中創建的同一會話?任何示例代碼來做到這一點?從aspx訪問WCF會話

+0

http://stackoverflow.com/questions/1232000/how-to-use-asp-net-session-in-wcf – MattC 2011-03-04 13:28:43

+0

可以請澄清一下嗎?所以WCF與WCF在同一臺服務器上?什麼綁定使用?組態?什麼會話設置?哪個版本的IIS? .NET的哪個版本?使用WCF REST? ... – Aliostad 2011-03-04 13:29:31

回答

0

WCF會話存在於完全不同的上下文中 - ASP.NET和WCF之間沒有關係(除非打開AspNetCompatibility)= ASP.NET不知道WCF,WCF不知道ASP.NET。所以如果你想分享ASP.NET和WCF之間的東西,你必須手動使用這兩種技術以外的東西。它通常意味着在每個ASP.NET和WCF請求中傳遞一些自定義全局可訪問(單例)「會話管理器」和自定義「會話ID」。

2

可以通過設置ASPCompatibityMode,但不應該這樣做(訪問WCF服務中的ASP.NET會話)。我建議你讓ASP.NET應用程序使用這個服務來簡單地構造一個包含所有必要信息的POCO對象,並將它發送到服務,以便服務不會強烈耦合到這個會話。在WCF服務中訪問ASP.NET會話使得這個服務完全不可重用。如果您想從桌面應用程序撥打您的服務,該怎麼辦?