2012-10-25 274 views
0

我正在學習WCF託管WCF服務。所以我創建了wcf項目,並且有一個類。代碼如下現在如何在控制檯應用程序

namespace TestWcfService1 
{ 
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together. 
public class Service1 : IService1 
{ 
    public string GetData(string value) 
    { 
     return string.Format("You entered: {0}", "Welcome " + value); 
    } 

} 
} 

當我試圖WCF服務引用添加到我的控制檯應用程序,如添加服務引用和這樣HTTP服務網址://本地主機:21541/Service1.svc然後我出現錯誤元數據包含無法解析的引用:'http:// localhost:21541/Service1.svc'。

,所以我只是不能夠達到我的目的。我知道一些我錯過了什麼,這就是爲什麼我得到錯誤。所以請指導我如何將服務參考添加到控制檯應用程序。 app.config會自動更新,或者我需要在那裏寫任何東西。請幫助。感謝

+0

您的服務_running_?參見[如何使用Web服務(http://johnwsaunders3.wordpress.com/2009/05/17/how-to-consume-a-web-service/) –

+0

我不知道如何檢查服務運行或不。指導我 – Thomas

+0

所以,那將是「不」。 –

回答

0

在配置上仔細檢查該服務的行爲設置爲允許服務元數據:

<serviceMetadata httpGetEnabled="true"/>

,並在服務部分中添加元數據終結

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

編輯:實施例CONFI摹

<system.serviceModel> 
    <services> 
    <service behaviorConfiguration="BehaviorConfig" 
     name="[ServiceNameGoesHere]"> 
     <endpoint address="" binding="wsHttpBinding" contract="[ServiceContractHere]"> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
    </service> 
    </services> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior name="BehaviorConfig"> 
     <serviceMetadata httpGetEnabled="True"/> 
     <!-- To receive exception details in faults for debugging purposes, 
     set the value below to true. Set to false before deployment 
     to avoid disclosing exception information --> 
     <serviceDebug includeExceptionDetailInFaults="False" /> 
     </behavior> 
    </serviceBehaviors> 
    </behaviors> 
</system.serviceModel> 

有丹Rigsby的博客一個不錯的書面記錄稱爲WCF Metadata這也解釋了更詳細關於設立MEX端點(這是需要添加服務引用工作)。

+0

ü可以給我的樣品進行的web.config WCF服務 – Thomas

+0

所有條目我以爲web.config文件相關的所有條目將被自動添加,但我需要手工編寫它自己。 – Thomas

+0

不需要。您必須使用正確的信息更新此文件。 – sjramsay

相關問題