我試圖在Win7中用IIS 7.5創建WCF NamedPipe。在Win7 IIS 7.5上託管NamedPipe WCF EndpointNotFoundException
- 在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
錯誤消息?
您設置的網站在IIS sample.localdev.net。你不應該用那個地址嗎? – Szymon
我使用net.pipe模式,是net.pipe需要「sample.localdev.net」地址嗎? 所以我應該使用「net.pipe://sample.localdev.net/Sample」?我試過了,錯了! – Flash
我會放棄它。 – Szymon