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#