簡體   English   中英

創建和訪問WCF服務。 Visual Studio 2012給出了錯誤

[英]Creating and Accessing WCF Services. Visual studio 2012 gives error

我在這里學習WCF http://msdn.microsoft.com/ru-ru/library/bb386386.aspx ,我成功地完成了測試服務步驟。 但是,在“ 訪問服務”步驟中,我遇到了問題。 它構建沒有任何錯誤,但當我嘗試將smth寫入textLabel空間並按下button1時,我在button1_Click函數中得到錯誤,即ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();

錯誤信息

無法在服務模型客戶端配置部分中找到引用合同>“ServiceReference1.IService1”的默認端點元素。 這可能是因為沒有為您的應用程序找到配置文件>>,或者因為在客戶端元素中找不到與此合同匹配的端點元素。

我在app.project文件中找到了這樣的代碼

<endpoint address="http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService11"
            contract="ServiceReference1.IService1" name="BasicHttpBinding_IService11" />

我100%肯定,該代碼沒有任何錯誤,因為我從上面的網站復制它沒有任何修改。 所以我很高興聽到你的假設如何解決這個問題。

您應該在構造客戶端時指定端點的name

using (var client = new ServiceReference1.Service1Client("BasicHttpBinding_IService11"))
{
    client.SomeMethod();
}

如果配置文件中只有一個端點,請使用*

using (var client = new ServiceReference1.Service1Client("*"))
{
    client.SomeMethod();
}

您需要指定名稱的原因是因為您可以在配置文件中為同一服務設置多個端點(例如,使用不同的綁定),如果您沒有指定名稱,則框架將不知道您要調用哪個端點。

還要注意我如何將IDisposable客戶端包裝在using語句中,以確保在完成using正確處理。

暫無
暫無

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

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