当前位置:编程学习 > C#/ASP.NET >>

WCF 使用Svcutil.exe发布元数据疑惑.

小弟最近刚接触wcf,对元数据元数据发布有一个很疑惑的问题.

先贴出宿主程序的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="HeartbeatServer.HeartbeatService">
        <host>
          <baseAddresses>
            <add baseAddress="net.pipe://localhost/" />
          </baseAddresses>
        </host>
        <endpoint address="MyHeartbeat" binding="netNamedPipeBinding" contract="HeartbeatServer.IHeartbeatService"></endpoint>
      </service>
    </services>
  </system.serviceModel>
</configuration>


绑定是用的 "netNamedPipeBinding" .

在用svcutil.exe 生成客户端代码的时候,命令提示工具里面提示:正在尝试使用 WS-Metadata Exchange 从"net.pipe://localhost/MyHeartbeat" 下载元数据.此 URL 不支持DISCO.

如果绑定是用 http 协议的话,就不会出现这样的情况.是用ipc,tcp协议都会出现上述错误提示.

谁能帮我解释这个疑惑.
在使用ipc,tcp协议绑定的时候,
1.宿主程序配置文件应该怎么写,
2.要注意哪些情况,
3.为什么要这样写.
以便在用svcutil生成客户端代码不会出错. --------------------编程问答-------------------- --------------------编程问答-------------------- WS-Metadata Exchange --------------------编程问答-------------------- 周末没有人. --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 你输入的命令是什么?我今天输入命令时出错,但是后来法相我的命令少了一个空格。 --------------------编程问答-------------------- 你要是确定你的命令没有错,那么你在你的配置文件里添加behavior相配置。 --------------------编程问答-------------------- 因为DISCO是Discovery of Web Services,是WS-Inspection的一部分...而Web Services是基于SOAP的,不支持其他协议...

所以这是正常的,不是错误...
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,