WCF - NetCtP 双工错误列表

本文介绍了解决WCF服务中未找到IMetadataExchange协定的问题方法。通过在配置文件中添加serviceMetadata标签,并确保ServiceMetadataBehavior正确配置,可以启用对IMetadataExchange的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 在服务 Transfer 实现的协定列表中找不到协定名称 "IMetadataExchange"

将 ServiceMetadataBehavior 添加到配置文件或直接添加到 ServiceHost,以启用对该协定的支持

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="exposeExceptionDetail">
          <serviceMetadata />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <netTcpBinding>
        <binding name="NetTcpBinding_ITransfer">
          <security mode="None"/>
        </binding>
      </netTcpBinding>
    </bindings>    
    <services>
      <service name="TestWcfScreen.Transfer"
               behaviorConfiguration="exposeExceptionDetail">
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:8733/Transfer/" />
          </baseAddresses>
        </host>
        <endpoint address="" 
                  binding="netTcpBinding" 
                  bindingConfiguration="NetTcpBinding_ITransfer"
                  contract="TestWcfScreen.ITransfer">
        </endpoint>
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>
</configuration>

忘记添加 <serviceMetadata /> 这个标签

转载于:https://www.cnblogs.com/luquanmingren/p/6911369.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值