2010-07-09 74 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