2009-08-05 50 views
1

如何在WCF中使用ASP.NET會話?或者是否有任何其他方式使用WCF中的「ASP.NET Session」結構(如數據存儲)?如何在WCF中使用ASP.NET會話?

+1

你想要什麼在你的WCF服務使用ASP.NET會話來實現? WCF服務通常是「每個呼叫」 - 兩個呼叫之間以及多個併發呼叫者之間不存儲狀態。 – 2009-08-05 09:15:06

+0

marc_s:true這是典型的方式,但您絕對可以擁有有狀態的服務(至少取決於您的綁定)(請參閱http://msdn.microsoft.com/en-us/library/ms730879.aspx) – veggerby 2009-08-05 10:15:40

回答

3

嘗試在看看作爲ASPCompatibityMode與WCF,然後你打開它,並在服務方法

+0

True,但是OP應該首先確定它是他需要的** ASP.NET **會話狀態。有可能他只需要一個機制_like_ ASP.NET會話狀態。 – 2009-08-05 13:55:15

3

您不能使用ASP.NET會話,因爲您可以在不引發ASP.NET引擎的情況下輕鬆運行WCF服務,例如。使用netTcpBinding。

但是,在WCF中存在本機處理會話,您可以在ServiceContract屬性上使用SessionMode參數在服務協定上指定此會話。

更多細節

http://msdn.microsoft.com/en-us/library/ms733040.aspx
0

如果任何人共享會話仍面臨這個問題(試圖在使用WCF服務的.NET Web應用程序中使用SESSION變量)。不要擔心web.config中的[AspNetCompatibilityRequirements .......]或添加aspNetCompatibilityEnabled =「true」。

在玩了一段時間之後,我發現我所要做的就是將_______。ASMX.CS中的每個[WebMethod]更改爲[WebMethod(EnableSession = true)]。

因此,將[WebMethod]更改爲[WebMethod(EnableSession = true)]。而已。

我發現從http://weblogs.asp.net/stevewellens/archive/2009/04/05/using-session-state-in-a-web-service.aspx

謝謝!

  • 盆景