2013-05-15 74 views
17

工作我使用VS 2012更新服務引用不是在WCF

我添加服務參考我的WPF項目,但是當我改變了我的服務和更新的服務參考我的Reference.svcmap - >參考。 CS文件將是空白的,我不能再使用參考。我可以在項目中看到它,但我無法使用。

我的服務參考設置如下: - enter image description here

Reference.cs文件

//------------------------------------------------------------------------------ 
// <auto-generated> 
//  This code was generated by a tool. 
//  Runtime Version:4.0.30319.17929 
// 
//  Changes to this file may cause incorrect behavior and will be lost if 
//  the code is regenerated. 
// </auto-generated> 
//------------------------------------------------------------------------------ 
+0

如何使用svcutil生成服務引用? – cvraman

+0

從您的項目中刪除服務參考並再次清理解決方案使用相同的名稱和測試添加它 – Damith

+0

@Damith我現在就試試。和這次參考添加,但沒有方法,什麼都不會到我的ClientApplication – ujjaval

回答

1

有一些事情可以先做清潔解決方案,刪除輸出目錄和服務的參考。重新啓動Visual Studio並重新配置Web服務。希望這可以幫助。

+0

我怎樣才能刪除輸出目錄?你能告訴我 – ujjaval

+0

@ujjaval在解決方案資源管理器有一個按鈕「顯示所有文件」,當你點擊你可以看到'Bin','Obj'文件夾 – Damith

+0

ok我刪除了所有的dll和編譯文件,然後重新啓動VS 2012,再次重新配置但仍然是同一個問題:( – ujjaval

3

如果您無法瀏覽該URL,那麼您將無法添加服務參考。嘗試在IIS中本地託管Web服務。當您能夠瀏覽網址時,您可以添加服務參考。

23

取消選中引用程序集中的重用類型複選框,並將新服務的地址放入地址文本框中。

+0

+ 1,但有問題的選項是「單獨在所有引用的程序集中重用類型」。如果取消選中此有問題的選項並從列表中選擇適當的程序集,則生成的類 應該可以。 –

+0

謝謝,我的服務參考也有問題,這是我需要的答案。我現在可以使用我的EF對象。 (以數組的形式,但仍然) – user1841243

+0

這適用於我 – RAY

4

在服務URL的末尾配置服務引用附錄/mex(mexHttpBinding結束點的地址)。

https://service.domain.com/serivce1.svc/mex

這將使元數據交換。因此,Reference.cs將被修改/添加(如果您是第一次添加服務引用)。

編輯:在分析時,我發現當一個服務(實現一個ServiceContract)通過多個端點公開時,會發生此問題。

通過爲每個端點使用不同的服務契約(接口)並使服務類(service1)實現所有這些接口,可以避免此問題。

1

取消選中重用選項更新服務選項正常工作。

0

它可能是由Team Foundation源代碼管理引起的。 嘗試右鍵單擊服務參考並選擇「檢出編輯...」 再次更新服務參考。

+0

這是2013年以來的一個問題。因此,現在提供答案的價值將會針對可能存在類似問題的未來用戶。因此,只有在能夠清楚地識別問題並解釋/提供解決方案的情況下,才能回答這樣的舊問題。 – MikeC