1
votes

I'm using async wcf calls inside a loop (say the loops runs for 45 iterations)

        ServiceClient client = ServiceClientFactory.Instance().GetServiceClient();

        for (int count = 0; count < 45; count++)
        {

            client.BeginSendCount(textBox1.Text, client_SendCountCompleted , client);

        }

when this is happens, not all requests are received at the service (something like 20 only received). But if I do it synchronously all calls are received at the server.

I'm using NetTcp binding with following settings,

closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:01:00" sendTimeout="00:01:00"

[In here I have tried reducing the timeouts as suggested in some other forums, which didn't do any difference]

Further I'm using a SingleInstance with "NoConcurrency" at the server end (this I have thought thru and it is the best setting for this circumstance ). And hosted in a windows service.

Does anybody have an idea?

Help appreciated.

/BB

1
Im sure some of the binding options provide the ability to guarantee ordered and reliable (i.e. acknowledged) delivery....brumScouse

1 Answers

1
votes

what are you using to host the service? IIS might decide that it's being flooded and stop taking the requests. i would look into those settings. alternatively you might find a way to avoid having so many requests.