WCF Асинхронный вызов Медленный, Синхронный вызов Быстрый - PullRequest
1 голос
/ 10 августа 2011

Я создал простой сервис WCF, используя ws2007HttpBinding, который просто возвращает переданное ему целое число.

Когда я вызываю его синхронно, первый вызов меньше 100 мс, затем последующие вызовы меньше 10 мс

Когда я вызываю его асинхронно, первый вызов приблизительно имеет порядок 1000 мс, последующие вызовы также имеют порядок 1000 мс

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

Я пробовал это с клиентом и сервером на одной машине и на разных машинах.Я иду тот же результат

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

Если кто-нибудь знает ответ, они могут опубликоватьих код и сервис / клиентская конфигурация

Для меня это очень срочно, поэтому любая помощь будет признательна

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Я только что обнаружил, что проблема с потоками, похоже, на клиенте, а не на сервере.Как только я установлю минимальное количество потоков, используя ThreadPool.SetMinThreads.

Я сделаю еще немного исследований и опубликую, если найду что-нибудь

0 голосов
/ 10 августа 2011

Как вы получаете время? Является ли время, которое вы перечислили здесь, временем ответа?

Поскольку вы используете асинхронный способ, вы не можете знать, будет ли запланирован вызов. Если вы считаете, что время критично, лучше использовать синхронный способ.

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