2010-07-09 77 views
0

我試過創建無svc的wcf服務。服務有效,但沒有生成元數據。 如何返回服務元數據?svc-less wcf服務和元數據

+0

能否請您發表您的綁定信息? – 2010-07-09 23:03:38

+0

我想不需要指定綁定信息,問題是我使用WebServiceHostFactory,它禁用元數據生成功能。 – satispunk 2010-07-09 23:22:36

回答

0

您是否在代碼中爲您的服務生成添加了元數據端點?

ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 

    smb.HttpGetEnabled = true; 

    smb.HttpGetUrl = new Uri(EndPointAddress); 

    Host.Description.Behaviors.Add(smb); 

或者使用配置文件:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
    <services> 
     <service name="yourServiceName" 
       behaviorConfiguration="yourBehavior"> 
     <host> 
      <baseAddresses> 
      <add baseAddress = "yourBaseAddress" /> 
      </baseAddresses> 
     </host> 

     <endpoint address ="..." 
        binding="httpBinding" 
        contract="..." /> 

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

     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="yourBehavior"> 
      <serviceMetadata httpGetEnabled="True"/>   
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration> 
+0

不知道,在代碼中我可以做到這一點,我在IIS中託管wcf服務。我是新手關於WCF技術=) – satispunk 2010-07-09 23:08:37

+0

請看看我的編輯版本 – 2010-07-09 23:35:27

0

找到了解決辦法 here:

+0

那麼也許你應該把你的問題標記爲答案;) – allonym 2010-07-10 01:52:37

+0

不能在一段時間內標記自己的答案。 – satispunk 2010-07-10 14:55:57