2012-05-03 58 views
0

我正在使用Visual Studio 2008和一個針對.NET 2.0的項目。我需要添加對在同一解決方案中的另一個項目中定義的WCF服務的引用。 WCF項目面向.NET 3.5,服務使用basicHttpBinding通過「添加Web引用」添加WCF引用

因爲客戶端項目配置爲以.NET 2.0爲目標,所以我沒有選擇「添加服務引用」。當我嘗試「在這個解決方案Web服務」到「添加Web引用」,然後選擇,我得到以下信息:

No Web services were found in the current solution.

我在做什麼錯?

回答

1

Web引用是針對傳統的ASMX技術。 「添加Web引用」自然不知道WCF是否存在,因此它不知道解決方案中的WCF服務。它正在尋找.asmx文件。

嘗試通過右鍵單擊.svc文件並使用「在瀏覽器中查看」來啓動您的服務。然後將該服務的URL提供給「添加Web引用」對話框。此外,請確保您的服務公開其元數據,以便「?WSDL」將生成添加Web引用的WSDL。

+0

我沒有任何.svc文件。該項目是使用WCF服務庫模板創建的,我認爲默認情況下不會生成.svc。我的.config文件確實暴露了一個'mex'端點。這是在我需要的球場嗎? – FishBasketGordo

+0

這是在大球場,但你必須得到託管的服務。一種方法是調試服務,但是如果您查看項目的Debug屬性,則會看到F5啓動wcfsvchost.exe程序。您可以手動啓動該服務來託管服務,然後使用指向託管URL的「添加Web引用」。請注意,您可以在Visual Studio的一個實例中調試該服務,並在另一個實例中執行「添加Web引用」。 –

+0

我運行了我的服務項目,它啓動了WCF測試客戶端,但所有的服務都以'mex'地址列出。如果我將地址複製到瀏覽器,則會出現HTTP 400錯誤:錯誤的請求。我不確定如何獲取WSDL數據以添加我的Web引用。 – FishBasketGordo