tags:

views:

27

answers:

1

I have a WCF application (vb) which works fine but when a user requests information while the server is doing a call to another user, everybody hangs!

+1  A: 

When you configure your service, there are two things you need to configure:

  • InstanceContextMode - which determines how many service instances are created to service the client requests, try use PerCall/PerSession if possible as they allows for the most concurrency.
  • ConcurrencyMode - which determines if each service instance is single-threaded or multi-threaded.

Based on the information you've provided so far, I'd recommend changing these two settings and see if it solves your problem:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall,
                 ConcurrencyMode = ConcurrencyMode.Multiple)]
public class MyService : IMyService { ... }

I put a blog post together of the things I learnt whilst doing some performance work on our WCF services a little while back, maybe it'd be of help:

http://theburningmonk.com/2010/05/wcf-improve-performance-with-greater-concurrency/

theburningmonk