[英]WCF reference.cs suddenly not including classes
我已經開發了一個WCF服務,它已經運行了幾個星期了。 我直接從開發服務器將此服務發布到IIS。 我有一個開發測試應用程序,在自己的項目中包含此WCF服務作為服務引用。
我的WCF類庫還引用了Visual Studio解決方案中的另一個項目,並且許多類位於引用的項目中,服務和調用應用程序使用這些類。
今天,在發布對服務的一些更改之后(我沒有對引用的項目或其類進行任何更改),引用項目中大約20個類中的三個不再位於我的測試應用程序的服務引用中。 我不能再在代碼中使用它們了,它們不再在Reference.cs中。 我仔細檢查過,所討論的類仍然使用[DataContract]進行修飾,並且屬性仍然在服務解決方案中使用[DataMember]進行修飾。
一切都在Visual Studio中構建好了。我已經重建並重新發布了所有內容,缺少的類設置為編譯,我已經嘗試過IIS重置,完全刪除了IIS站點並做了干凈的重新發布,無濟於事。 我已經嘗試刪除測試應用程序上的服務引用,並且每次都獲得一個干凈的代理。 什么都行不通。
然后我嘗試在引用的項目中創建一個虛擬類並構建它。再次重新發布服務,甚至這個虛擬類也沒有出現在Reference.cs中。 我完全不知道為什么這些類在發布之后沒有被包含在引用項目的.dll中,因為很明顯一切都在Visual Studio中構建好了。
我遇到這樣的問題。 以下步驟可幫助您1.右鍵單擊服務(項目的服務參考部分)2。在更新服務參考中單擊高級3.執行附加圖像。
想回來發布造成我問題的原因:
我做了更改,我的服務方法都沒有使用3個“缺失”類作為返回類型或參數。 我只需要取消注釋使用這些類的方法,使它們再次可用。 現在有道理,但我確信其他事情是錯的。
我遇到了類似的問題並通過以下方式解決了這個問題。
使用mexHttpsBinding添加終點的地址。 例如,讓我們將地址視為mex 。
在服務URL末尾配置服務引用append / mex時。
這將啟用元數據交換 。 因此,將修改/添加Reference.cs(如果您是第一次添加服務引用)。
請確保您的服務具有mexHttpBinding / mexHttpsBinding的終點
編輯 :在分析中,我發現當通過兩個以上的端點(包括mex端點)公開服務時會發生此問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.