Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WCF No connection could be made because the target machine actively refused

I just implemented a simple WCF server using net.tcp.

First, I use 127.0.0.1 as server address and client able to connect the WCF service.

Everything is Ok. But when I try to use the internal IP 192.x.x.x I get an error:

No connection could be made because the target machine actively refused it

Any idea what may cause this?

Best Wishes

PS: I disabled auth on WCF. Even turn off firewall all...Not worked...

like image 298
setiGuy Avatar asked May 12 '11 15:05

setiGuy


4 Answers

Well, I got this error message when I forgot to install necessary components. see link Configuring WCF Service with netTcpBinding

(summary of steps)...

  • Go to "Programs and Features" (usually in control panel)
  • Go to "Turn Windows features on or off"
  • (assuming VS2012) Go to ".NET Framework 4.5 Advanced Services"->"WCF Services"
  • Enable "TCP Activation"
like image 165
barrypicker Avatar answered Nov 23 '22 18:11

barrypicker


Do you use 192.x.x.x on both client and server? I remember seeing an issue a while back in which for TCP the client and server names needed to match (something related to one of the message properties), so if you define the service with "localhost" and the client with <machine name> there would be a problem.

like image 36
carlosfigueira Avatar answered Nov 23 '22 18:11

carlosfigueira


The physical client and service addresses can differ if the logical address is the same and the server endpoint has been configured with a "listenUri" and the client behaviour is configured to use a <clientVia> address. In our case, this is required in for our proxy/firewall configuration. In effect, the client calls the firewall and the server listens locally for a forwarded request.

For an IIS-hosted service, check the following:

  1. The Application pool is started and looks correct (.NET 4 etc/security)
  2. For NET.TCP, ensure the "Allowed Protocols" in the Web Site/Application (via advanced settings) are configured correctly: e.g. http,net.tcp

For a non-IIS hosted service, you may need to configure a Namespace Reservation (URLACL). http://msdn.microsoft.com/en-us/library/ms733768.aspx

Also ensure the appropriate Windows Services are running, e.g. Net.Tcp listener.

like image 45
PeterX Avatar answered Nov 23 '22 17:11

PeterX


If you're running from within visual studio in debug mode, ensure your solution port numbers match. I have seen several instances where I had Properties>Web>Auto-Assign Port - selected and the endpoint from, in this case my silverlight app, didn't match the port auto generated. I usually change the port to 1318 in my .web.

like image 35
Hunter Kingsley Avatar answered Nov 23 '22 19:11

Hunter Kingsley