我有一個小的WCF webservice與內置的WCF服務主機一起工作,並由Visual Studio 2008內置的開發Web服務器託管。IIS託管的WCF服務可以配置爲Windows驗證和匿名嗎?
我這些託管環境我依靠WCF測試客戶端來調用服務方法。
現在我遇到問題,我測試的下一階段:
我有它託管在IIS 5.1我的WinXP dev的機器,我想,也許這個問題是我不能繼續使用WCF測試客戶端了。這是發生了什麼:
案例1:「匿名訪問」被選中(啓用)
WCF測試客戶端UI來正確,露出的WebMethods和Invoke按鈕。 然而,當我單擊INVOKE時,它無法連接到需要Windows身份驗證的後端數據存儲(第三方產品)。我可以發佈我從product.DLL得到的錯誤,但我認爲它不相關。
案例2: 「匿名訪問」 未覈對(禁用)
WCF測試客戶端UI失敗,甚至正確初始化。我對此的研究告訴我,MEX(WS-Metadata Exchange)需要「匿名訪問」和(顯然)WCF測試客戶端需要MEX。這裏是正在返回的錯誤的關鍵片斷:
Error: Cannot obtain Metadata from http://localhost/wcfiishost
The remote server returned an error: (401) Unauthorized.HTTP GET Error
URI: http://localhost/wcfiishost
There was an error downloading 'http://localhost/wcfiishost'.
The request failed with the error message:
Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service
的是大量的綁定選項,信息安全等之類的東西我真的不明白的解釋。 (a)因爲我知道我的WCF webservice務必配置爲使用Windows身份驗證,所以我得出結論:當我託管我的WCF測試客戶端時,我不能繼續使用WCF測試客戶端。 IIS中的服務。它已經有效地超過了它對我有用。我只需要花時間編寫一個Web客戶端,因爲沒有匿名的情況下,WCFTestClient不會工作。
(或)
(B)可以使用WCF測試客戶端,如果它和託管服務的propertly配置(我只是不知道什麼特殊配置技術是這個)。
這是正確的嗎?是時候停止使用WCFTestClient還是有兩種方法可以使用它?預先感謝您的建議。
編輯:09年6月11日
有什麼事我可以提供幫助別人幫助我在這個問題上?
PS:這是你使用你的服務綁定?你可以試試「basicHttpBinding」(如果你還沒有使用它)? – 2009-06-11 17:13:35