У нас есть служба WCF (развернутая в IIS), которая выполняет дорогостоящие вызовы к базе данных. Он не использует никакого асинхронного программирования (async/await).
Код: Выделить всё
using (SqlDataAdapter adapter = new SqlDataAdapter())
{
using (SqlCommand command = new SqlCommand())
{
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "StoredProcedure_NAME"; // takes 6 seconds
command.Connection = connection;
adapter.SelectCommand = command;
adapter.Fill(dataset);
return dataset;
}
}
Теперь, что произойдет с потоком (я полагаю, что это поток пула потоков WCF), выполняющим этот вызов базы данных в течение 6 секунд ожидания. Блокируется ли этот поток и отнимает циклы ЦП, или поток будет находиться в состоянии ожидания (ожидание прерывания)?
Подробнее здесь:
https://stackoverflow.com/questions/313 ... -operation