views:

1022

answers:

2

I'm having an issue with a WCF application that I've written.

When both the client and the server are on the smae machine it runs fine, however when I try and run it with the cleint and server on two separate machine (as it is supposed to run) I get the following in exception:

System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://vm101.lab.foo.co.uk/VDNService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
System.IO.PipeException: The pipe endpoint 'net.pipe://vm101.lab.foo.co.uk/VDNService' could not be found on your local machine.

What I dont understand is the 2nd line of the exception, that it could not find the end point on my local machie. The end point is on another machine, not my local machine isn't it?

I'm using a net named pip binding (NetNamedPipeBinding). rather than an HTTP one. And the WCF code is hand coded rather than generated (As I undersand is the norm, I didn't learn this till after I'd written the application though).

Any help would be appreciated.

+3  A: 

"net.pipe" addresses a local transport. You need to use a different binding to talk across machines. You probably want to use netTcp.

http://msdn.microsoft.com/en-us/library/ms730879.aspx

Brian
can net tcp do callbacks? The reason I went with net pipe over Http was becasue it allowed for call backs.
Omar Kooheji
Yes it can. (yadda yadda at least 15 chars)
Brian
How much of a headache is it going to be for me to convert my code from net pipe to net tcp?Is it just a case of replacing the NetNamedPipeBinding with NetTcpBinding? or is there more to it than that?
Omar Kooheji
swapping the binding is probably all you need to do
Brian
That's the beauty of the WCF model!
Cheeso
That worked thanks a million you just saved my proverbial arse... Client install is tomorrow and I'd just assumed we wouldn't have to worry about the network stack. Bad developer, next time test more...
Omar Kooheji
A: 

If the server service is running, all named pipes are accessible remotely. If you intend to use a named pipe locally only, deny access to NT AUTHORITY\NETWORK or switch to local RPC.

quote from http://msdn.microsoft.com/en-us/library/Aa365590

What does it mean remotely???

If you want to ask a question, don't put it in an answerbut start a new thread for it.The "Ask Question" button ins in the top right of this page.More people would see your question and try to answer that way.
sth