Являются ли ASMX WebService или WCF или aspx страницы по умолчанию асинхронными? - PullRequest
0 голосов
/ 02 июня 2011

Я включил себя в ставку, наша вражда - Async WebServices и другие вещи, о которых я упоминал выше.

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

Спасибо заранее.

1 Ответ

1 голос
/ 02 июня 2011

Все они по умолчанию синхронны, но вы можете записать их все асинхронно и вы можете вызвать их все асинхронно.Вы всегда должны различаться между синхронным / асинхронным вызовом и между синхронным / асинхронным выполнением.

Вызовы

  • Синхронный - клиент вызывает сервис / страницу и зависает, пока сервис / страница не вернетresponse.
  • Asynchronous - клиент вызывает сервис / страницу и может продолжить работу.Клиент обычно уведомляется каким-либо событием (или может опросить результат), что ответ получен.В ASPX это типичный обратный вызов или вызов AJAX.

Выполнение:

  • Синхронный - сервис / страница принимает вызов и обрабатывает его.Каждая внешняя обработка (доступ к файлу, вызов других служб, вызов базы данных) выполняется синхронно, и служба / страница блокирует исполняющий поток на все время обработки запроса.
  • Асинхронный - служба / страница принимает вызов,подготавливает внешнюю обработку и выполняет ее асинхронно.Обрабатывающий поток возвращается обратно в пул потоков и может в это время обслуживать другие запросы.Как только внешняя обработка заканчивается, сервис / выполнение страницы снова запланировано для получения потока из пула потоков, и он заканчивает выполнение и возвращает ответ.Обычно это требуется только на страницах / сервисах с большим трафиком и интенсивной внешней связью.

Эти два типа асинхронной обработки полностью независимы.У вас могут быть асинхронные вызовы к синхронным службам и любые другие комбинации.

...