Уровень обслуживания
public async Task<string> getAllAsync()
{
return await WCFMethodAsync();
}
Уровень представления
public class Customer : Controller
{
public async Task<string> Index()
{
var r = await Task.Run(getAllAsync());
return r;
}
}
Я опишу, что, по моему мнению, происходит. Я хотел бы знать, ошибаюсь ли я.
запрос принимает поток из ThreadPool
await
возвращает неполную задачу
Task.Run
ставит задачу в очередь на выполнение getAllAsync
3.1. который возьмет поток из ThreadPool.
, когда метод getAllAsync
завершает работу, взятый поток возвращается в группу потоков
когда завершение вызова метода службы. net извещается, и из группы потоков берется поток для завершения запроса.
Куда возвращается незавершенное домашнее задание? Поскольку метод был выполнен внутри Task.Run
.
, я хотел бы знать поток всего процесса.
Поскольку поток был первоначально взят из группы потоков, а task.run принимает рабочий поток, вопрос в том, когда задача завершает задание (wcf) и поток берется для завершения sh запроса. Сколько потоков было использовано для обработки запроса?