pri*_*iya 1 c# multithreading httpwebrequest
我在任务工厂内调用 httpwebresponse ,在执行 1 次后它会抛出异常
Cannot re-call BeginGetRequestStream/BeginGetResponse while a previous call is still in progress
我的代码如下所示:
for (int i = 0; i < tsk.Length; i++)
{
tsk[i] = Task.Factory.StartNew((object obj) =>
{
System.Diagnostics.Stopwatch watch = Stopwatch.StartNew();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
watch.Stop();
}, i);
}
Run Code Online (Sandbox Code Playgroud)
如何解决此问题
HttpRequest
您一次又一次地使用同一个对象:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
您必须每次重新创建它,因为单独的线程尝试同时重用HTTP
连接并获取异常:
HttpWebRequest request = WebRequest.Create("url");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5251 次 |
最近记录: |