我正在尝试使用 IIS 7.5 在 win7 中创建 WCF NamedPipe。
- 在 IIS 管理器中右键单击,并创建名为“TestWCFWithNamedPipe”的网站
右键单击我的网站“TestWCFWithNamedPipe”-> 选择编辑绑定
Type:http Host Name:sample.localdev.net Port:80 Address:* Type:net.pipe Binding informations:*
在高级设置中,将启用协议的值设置为“http,net.pipe”
- 在我的网站“TestWCFWithNamedPipe”Web 应用程序项目中
web.config
:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceDebug />
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="DefaultBehavior" name="SampleWcfLib.SampleWcfObj">
<endpoint address="net.pipe://localhost/Sample" binding="netNamedPipeBinding"
bindingConfiguration="" contract="SampleWcfInterfaceLib.ISampleWcfObj" />
</service>
</services>
</system.serviceModel>
TestClient.exe
代码如下
string address = "net.pipe://localhost/Sample";
NetNamedPipeBinding binding = new NetNamedPipeBinding();
EndpointAddress ep = new EndpointAddress(address);
ISampleWcfObj channel = ChannelFactory<ISampleWcfObj>.CreateChannel(binding, ep);
string result = channel.Ping("Test");
我跑TestClient.exe
了,我得到了一个例外:
在 net.pipe://localhost/Sample 上没有可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。
我检查了 Win7 服务状态:
Net.Pipe Listener Adapter Started
Net.Tcp Listener Adapter Started
我已经完成了 WCF 的所有设置。
为什么我仍然收到EndpointNotFoundException
错误消息?