2011-08-20 114 views
1

我有一個在三個SOAP 1.1 WSDL端點上偵聽的第三方Java Web服務。其中一個端點用於啓動會話並執行一些高級任務,而其他端點則用於針對特定主題的任務重新使用初始身份驗證。VS2010在多個WCF客戶端之間共享SOAP 1.1服務的響應Cookie

我正在構建一個C#WCF應用程序來與服務對話,我想在三個客戶端對象中共享會話cookie。

什麼是VS2010共享此cookie的「最佳實踐」方式?

如果這篇文章仍然是最好的答案,我可以與它一起,但是我會很感激一些額外的反饋,尤其是如果.NET 4引入了一個我沒有找到在線的簡化。 http://megakemp.wordpress.com/2009/02/06/managing-shared-cookies-in-wcf/

我可以很容易地創建了第一個客戶端並保留會話(新basicHttpBinding的myBinding; myBinding.AllowCookies =真),但我找不到節省關從連接響應中的Cookie和重複使用的一種優雅的方式爲兩個輔助客戶。

任何見解都值得讚賞。

我應該注意到我知道CookieContainer並使用添加Web引用而不是添加服務引用。在我閱讀過的大多數帖子中,該方法被標記爲「遺留」,並且我傾向於保持當前...或儘可能使用SOAP 1.1。

回答

0

上述文章仍然有效。您必須使用OperationContextScope並訪問消息屬性以獲取協議特定的數據。這種複雜性基於WCF體系結構獨立於協議而ASMX體系結構與HTTP協議相關的事實。

確實,ASMX(WebReference)是傳統技術,但它仍然存在於.NET框架中,所以如果您知道在不使用任何高級WS- *標準的情況下您將永遠不需要更多基本SOAP消息,您仍然可以使用它讓你的生活變得簡單。一旦你需要更多的東西,你仍然可以重構你的代碼,並使用WCF和上述代碼來處理cookie。

+0

感謝您的回覆。離開ASMX方法肯定會在這個時候引入不必要的複雜性。我會接受你的建議並堅持簡單的方法。 – Rob

相關問題