Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发出并行HTTP请求背后的逻辑_C#_Asp.net_Asp.net Mvc_Parallel Processing_Httprequest - Fatal编程技术网

C# 发出并行HTTP请求背后的逻辑

C# 发出并行HTTP请求背后的逻辑,c#,asp.net,asp.net-mvc,parallel-processing,httprequest,C#,Asp.net,Asp.net Mvc,Parallel Processing,Httprequest,我试图计算当使用常规for循环与执行请求的方法vs PLINQ或使用“常规”并行for循环时,应用程序执行的HTTP请求量。例如,假设我们有一个名为DoRequest()的方法,它在调用时执行一个http请求 与常规for循环一起使用时: for(int i=0; i<100;i++){ DoRequest(); } Parallel.For(0,100,i=> DoRequest()); 使用PLINQ: MyList.AsParallel().WithDegreeOfPara

我试图计算当使用常规for循环与执行请求的方法vs PLINQ或使用“常规”并行for循环时,应用程序执行的HTTP请求量。例如,假设我们有一个名为DoRequest()的方法,它在调用时执行一个http请求

与常规for循环一起使用时:

for(int i=0; i<100;i++){
DoRequest();
}
Parallel.For(0,100,i=> DoRequest());
使用PLINQ:

MyList.AsParallel().WithDegreeOfParallelism(18).ForAll(i=>DoRequest());
对于常规for循环,我猜我的应用程序一次执行一个请求,当第一次调用完成时,计数器会向前移动吗

我这里的问题是,在第二和第三种情况下,我的应用程序有多少请求

我在黑暗中拍摄,但我要说的是,如果我是正确的,第三种方法一次可以执行18个并行请求

背后的逻辑是什么?

看看这篇文章。。。这个。也许它能回答第二种方法的问题看看这篇文章。。。这个。也许它可以回答第二种方法的问题