2009-11-05 103 views
4

我是WCF的新手,我一直試圖在Web服務中使用會話狀態,我設法使用numberofarticles有狀態的WCF Web服務

但是這些文章都遵循.net 2.0方法,因爲默認情況下新的WCF服務引用沒有CookieContainer。

什麼是使用有狀態網絡服務的新的學校方式?

(不使用向後方法,如代碼生成與Wsdl.exe工具或2.0「添加Web服務」的路線。)

+0

FYI: 老學校的網絡服務的使用作爲一種類型: System.Web.Services.Protocols.SoapHttpClientProtocol 與WCF爲: System.ServiceModel.ClientBase – 2009-11-05 12:36:52

回答

6

一個字:切勿

只要有可能,服務應該是無狀態的 - 它讓生活變得更容易。

如果您需要保持呼叫之間的狀態,請將其置於持久容器中,例如,一個數據庫,並報告下一次調用時可以找到它的ID。

馬克


如果你真的必須保持會話(真的嗎?想想看兩次 - 更好的是:三次) - 然後WCF提供某些綁定每個會話的電話(協議)。

最接近ASMX webservices的basicHttpBinding不支持會話。對於面向互聯網的應用程序,您需要使用wsHttpBinding,對於面向內部網的服務,您需要使用netTcpBinding

查看有關使用WCF會話的MSDN docs