无法重新呼叫 BeginGetRequestStream/BeginGetResponse,而之前的呼叫仍在进行中
Cannot re-call BeginGetRequestStream/BeginGetResponse while a previous call is still in progress
我在任务工厂内部调用 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);
}
如何解决这个问题
您一次又一次地使用同一个 HttpRequest
对象:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
你每次都必须重新创建它,因为单独的线程试图同时重新使用 HTTP
连接并得到异常:
HttpWebRequest request = WebRequest.Create("url");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
我在任务工厂内部调用 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);
}
如何解决这个问题
您一次又一次地使用同一个 HttpRequest
对象:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
你每次都必须重新创建它,因为单独的线程试图同时重新使用 HTTP
连接并得到异常:
HttpWebRequest request = WebRequest.Create("url");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();