1

I have created WCF netpipe connection on "net.pipe://localhost/IBS" which has an endpoint listening at "BasicService".

Creating this and hosting within my app is fine. But when I try to connect to this through "net.pipe://localhost/IBS/BasicService" this connection fails.

It throws exception like following.

There was no endpoint listening at **net.pipe://localhost/IBS/BasicService** that could accept the message. 
This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

While digging into this, I found that this connection failure happens only when the hosting app is running in non-admin mode. If I switch to admin mode the connection succeeds.

The issue happens because some other pipe is open on net.pipe://localhost in admin mode. So while my client tries to communicate to net.pipe://localhost/IBS/BasicService it ends up searching in net.pipe://localhost for IBS/BasicService. Where as i wanted it to search in net.pipe://localhost/IBS for BasicService.

Services running in admin mode is taking precedence. Is there a way in WCF to configure it other way or at-least after not finding at localhost it should try finding in localhost/IBS also.

Thanks.

Rohit Gupta
  • 4,022
  • 20
  • 31
  • 41
  • what I can suggest but I'm not sure if it works with netpipe or not is to take a look at failover in wcf in this link http://www.codeproject.com/Articles/778575/WCF-Routing-Service-Part-III-Failover-Load-Balanci – BRAHIM Kamel Sep 04 '15 at 15:58
  • Fail over will not work in this case - reason being other alternate connection will also hit same issue. In fail over also all has to be net.pipe with some unique address created from non-admin. I saw in this post "http://stackoverflow.com/questions/15981392/3rd-party-app-breaks-our-wcf-application" Discussion is around same area but no proper solution available. Actually microsoft should be fixing this. It's actually problem with WCF nat pipes itself. – Rajesh Raushan Sep 08 '15 at 10:50

0 Answers0