我期望下面的代码能够以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";
};
}
}
答案 0 :(得分:4)
您的代码是正确的。
问题在于,如果您使用单个Web浏览器类型测试生成并发请求,则根据您使用的浏览器,浏览器本身可能会阻止发送并发请求。
为安全起见,我建议您混合多种浏览器类型以生成并发请求。