Я ожидал, что приведенный ниже код сможет обрабатывать несколько запросов со 5-секундной задержкой, однако, если одновременно поступают 2 запроса, второй запрос занимает 10 секунд (он ждет первого один для завершения). Что мне здесь не хватает?Нэнси одновременные запросы выполняются синхронно
public class Test : NancyModule
{
public Test()
{
Get["/", runAsync: true] = async (x, ct) =>
{
Console.WriteLine("Before");
await Task.Delay(5000);
Console.WriteLine("After");
return "Hello World";
};
}
}
Отказ от ответственности: Я ничего не знаю о Нэнси. Но похоже, что вы должны работать. Вопрос: Когда вы видите вторую строку 'Before', записанную на консоль? Как только вы отправляете свой второй запрос, или есть 5 секундная задержка, прежде чем вы его увидите? Было бы полезно, если бы вы отредактировали сообщение с тем, что написано на консоли вместе с отметками времени для каждой записи. – sstan
@sstan Он показывает после 5-секундной задержки первого запроса :( – forrestj
Это то, что я думал. Это означает, что ваш метод на самом деле правильно закодирован, а причина, по которой ваши запросы сериализованы, вероятно, больше вверх по течению. Какой инструмент вы используете для отправки обоих запросов одновременно? – sstan