Tuesday, November 1, 2011

WCF - a performance issue

A few weeks ago I've encountered an annoying performance problem with WCF.

We were working on some Client/Server application, which should work only inside a local network, meaning - all the clients will be connected to the server via the Intranet. We were using WCF of curse.
While doing QA we've faced a problem - one client worked really fast and the other was a bit slow. They both had the same server and they both had the same hardware, OS, installations etc.

After smashing my head against the wall a few times I've found the problem: the slower one wasn't configure to bypass proxy for local addresses and that caused an overhead.

To find out your configuration - open Internet Explorer->Tools->Internet Options->Connections->LAN Settings

So, instinctively, the first solution that came to my mind was to re-configure the machine to bypass proxy. But then i thought - it doesn't make any sense - i cannot enforce the users on the field to change their configuration. And so I've found a better solution - on the client side configure the binding as follow:

binding.UseDefaultWebProxy = false;
or on the App.config file:

<binding name="httpBind" .... bypassProxyOnLocal="true">
Since the system was planed to work inside the Intranet - we don't need to use proxy anyway.


No comments:

Post a Comment