Нужно ли что-либо делать, чтобы сделать все запросы асинхронными или они автоматически обрабатываются таким образом?Web API 2 - все запросы REST асинхронны?
Я провел несколько тестов, и кажется, что каждый запрос приходит в свой собственный поток, но я думаю, лучше спросить, как я мог бы ошибиться.
Обновление: (У меня плохая привычка не объяснять полностью - извините) Вот моя забота. Клиентский браузер делает запрос REST на мой сервер http://data.domain/com/employee_database/?query=state:Colorado. Это подходит к соответствующему методу в контроллере. Этот метод запрашивает базу данных и возвращает объект, который затем превращается в структуру JSON и возвращается в вызывающее приложение.
Теперь предположим, что 10 000 клиентов выполняют аналогичный запрос на один и тот же сервер. Итак, у меня сразу 10 000 запросов. Будет ли мой метод контроллера вызываться одновременно в 10 000 отдельных потоков? Или должен ли первый запрос вернуться до вызова второго запроса?
Я не спрашиваю о коде в моем методе обработчика, имеющем асинхронные компоненты. Для моего случая запрос становится единственным SQL-запросом, поэтому код не имеет ничего, что можно обрабатывать асинхронно. И пока я не получу запрошенные данные, я не могу вернуться из метода.
Если вы имеете в виду асинхронные действия, то следует использовать 'async':' public async Task> Get() {...} ' –
Vladimir
@VladimirFrolov Почему веб-api не создает поток каждый раз, когда он начинает обслуживать пользователя? Таким образом, не имеет значения, спит ли в действии, как это было бы в собственной нити. – Ciantic
@ Давид Не могли бы вы рассказать о своих выводах. Ответы ниже не отвечают на ваш конкретный вопрос. –