tags:

views:

9849

answers:

5

I have a WCF service running on the IIS with a ServiceHostFactory. It's running fine with the WSHttpBinding but because of the speed and everything being on the same network (no firewalls) i want to speed up things a bit using the NetTcpBinding instead.

When i try to do that i get this error:

Could not connect to net.tcp://zzz.xxx.yyy/MyService.svc.
The connection attempt lasted for a time span of 00:00:01.0464395.
TCP error code 10061: No connection could be made because the target machine
actively refused it x.x.x.x:808.

I'm using SecurityMode.None just to make sure that is not screwing me also i tried either of these on two different tries:

binding.Security.Message.ClientCredentialType = MessageCredentialType.None;
binding.Security.Message.ClientCredentialType = TcpClientCredentialType.Windows;,

Also i should point out, that i'm pulling quite a lof of data from one of the service calls, so i also put these (both on the http and the tcp attempts - setting maxMessageSize to 1000000)

binding.MaxReceivedMessageSize = maxMessageSize;
binding.ReaderQuotas.MaxArrayLength = maxMessageSize;

It should be pretty easy getting it to work, so what am I missing?

UPDATE: I added the TCP port 808 to the website identity and tried again. Now i get this error:

You have tried to create a channel to a service that does not support .Net
Framing. It is possible that you are encountering an HTTP endpoint.
A: 

Could it be something as simple as your firewall rules on the service host disallowing port 808?

ZombieSheep
I just double checked and there are no firewalls blocking internal traffic, but thanks.
Per Hornshøj-Schierbeck
+2  A: 

Check out this post on enabling non-HTTP bindings in IIS 7.0. By default, you have to explicitly enable net.tcp in IIS 7.0.

Hope this helps.

UPDATE:

Saw your comment - unfortunately, net.tcp is not supported in IIS 6.0. Check out this link which details the supported WCF bindings for various hosts (including self-hosting, WAS, and IIS). Looks like only HTTP bindings work in IIS 6.0.

David Mohundro
The service is hosted on IIS6 though :(
Per Hornshøj-Schierbeck
Revised my answer... looks like IIS6 doesn't support anything but HTTP. I'm in the same boat here at work - we're stuck on Win2003 for now :(
David Mohundro
+3  A: 

If you are using Vista, then ensure the WAS and Net.Tcp Listener Adapter Services are running.

+1 That Net.Tcp Listener Adapter Service got turned off for some reason :/ cheers.
Andreas Grech
A: 

Did uou find an answer for this? I have a similar problem.

Well... check out the checked post by David Mohundro - you have to upgrade your IIS or you're stuck with http - or ofcourse host it outside IIS...
Per Hornshøj-Schierbeck
A: 

Once i start Net.Tcp Listener Adapter Service, service is working fine for me.

rosi