Ограничение запроса при использовании асинхронных вызовов WCF? - PullRequest
1 голос
/ 02 ноября 2010

Я использую асинхронные вызовы wcf внутри цикла (скажем, циклы выполняются в течение 45 итераций)

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

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

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

        }

когда это происходит, не все запросы принимаются в службе (что-то вроде 20 только получено).Но если я делаю это синхронно, все звонки принимаются на сервере.

Я использую привязку NetTcp со следующими настройками:

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

[Здесь я попытался сократить время ожидания, как предлагалось на некоторых других форумах, но это не имело никакого значения]

Далее я используюSingleInstance с «NoConcurrency» на стороне сервера (это, как я думал, и это лучшая настройка для этого обстоятельства).И размещены в службе Windows.

У кого-нибудь есть идея?

Помощь приветствуется.

/ BB

1 Ответ

1 голос
/ 02 ноября 2010

что вы используете для размещения сервиса?IIS может решить, что он затоплен, и прекратить принимать запросы.я бы посмотрел в эти настройки.в качестве альтернативы вы можете найти способ избежать такого большого количества запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...