簡體   English   中英

對在IIS Express上本地運行的WCF服務的引用不會公開方法

[英]reference to a WCF service running locally on IIS Express does not expose methods

我最近繼承了許多WCF Web服務,這些服務配置為在Web項目中使用ASHX處理程序以http://example.com/Services/V1/MyService.svc的形式呈現.SVC文件。 這些服務正在開發和生產環境中運行,出現了WSDL,並且在新項目中添加服務引用使我可以調用MyMethod並完全按照預期獲得響應。

錯誤處理和日志記錄的故事不是很好,所以我試圖在本地運行該站點並向http:// localhost:1234 / Services / V1 / MyService.svc添加服務引用。 我可以在該URL上加載服務,並看到在生產環境中出現的WSDL,但是當我嘗試使用類似於下面的代碼來調用我的方法時,無論是客戶端還是響應對象都無法像我那樣識別它們連接到生產。

using MyServiceTestProject.LOCAL_MyService;
//...
MyServiceClient test = new MyServiceClient();

MyServiceMethodResponse r = test.MyServiceMethod("arguments!");

我能夠確切地看到MyCustomObject類之一,該類僅在我的服務中聲明,並且在我停止使用服務引用時停止可用,所以我知道即使不是所有人所期望的所有東西,也會遇到一些問題。

當我比較本地環境和dev / prod環境時,Web.Config文件的相關部分是相同的,並且在本地運行的項目就是部署到其他框上的項目。

有沒有人遇到這種使用IIS Express在本地運行服務項目的行為?

編輯:。 產品,開發環境和本地環境之間的端點不同,每個端點中使用相同的代碼。 感謝您指出這個細節,我本來會省略。

花了幾個小時不停地嘗試解決這個問題,然后再發布問題,刪除並重新添加服務引用並重新啟動我的IDE和計算機都無濟於事,我發現右鍵單擊該服務的名稱並選擇“更新服務參考”(在下面的屏幕截圖中用紅色圓圈圈出)將最終解決我所看到的問題,盡管VS有時需要我執行多次更新才能生效。

更新服務參考上下文菜單選項

在不執行更新的情況下,刪除或添加服務的嘗試以及重新啟動Visual Studio /重新啟動PC的嘗試都不會解決該問題。 我不確定IIS Express是否導致第一​​次未使用所有必要數據創建服務引用,或者它是否是我本地環境中的其他一百個變量之一,但是至少有一個可靠的選擇當它確實失敗時使它工作的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM