locked
Concurrent Async WCF calls locking up - Have Tried everything RRS feed

  • Question

  • I am attempting to spawn off multiple background threads and make 1 WCF call on each thread.

    If I attempt to place too many concurrent calls at the same time, all WCF capabilities lock up.  (none of the calls complete  - it never returns from the EndInvoke)

    The processor usage of silverlight then stays at about 60-70% even though none of the calls are returning.

    I have put debug statements on the server,  and when the Client locks up, the server never received the calls, which leads me to believe it is locking up on the client before it actually calls the server.

    Just to make sure, I have increased all throttling settings on the server to their maximum value

    Though it shouldn't matter, because the clients are calling different services in each call, so if I make 8 concurrent calls, it would be calling 4 different services 2 times each.

    I have tried using the ClientHttp stack, and the BrowserHttp stack.  Neither solve the issue.

    In these calls, I am sending a large quantity of objects that are being serialized using the DataContractSerializer

    If I make around 5 - 6 calls concurrently, it behaves fine

    6 - 9  and I get occassional lockups (but if it does lock up, it eventually recovers after 20 seconds or so - and all the calls flood in at the same time)

    9 - 12  and it almost always locks up (and sometimes never recovers - permenantly incapable of making any further WCF calls)

    I am desparate!   Any help would be greatly appreciated!!!

    Rick

    Friday, July 22, 2011 3:57 PM

Answers

  • Hi,

    I have put debug statements on the server,  and when the Client locks up, the server never received the calls, which leads me to believe it is locking up on the client before it actually calls the server.

    Base on my understanding ,I would like to suggest you to check the link below for an article which explains the Concurrency Management for Programming WCF Services.

    http://msdn.microsoft.com/en-us/library/orm-9780596521301-02-08.aspx

    Moreover , you can also use Fiddler to check the incoming or outgoing data ,then get the detailed information when the calls for WCF Services are made concurrently.

    Hope it can help you.

    Thursday, July 28, 2011 5:22 AM