Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# 如何将httpcontext转移到单独的线程_C#_Asp.net_Multithreading_Httpcontext - Fatal编程技术网

C# 如何将httpcontext转移到单独的线程

C# 如何将httpcontext转移到单独的线程,c#,asp.net,multithreading,httpcontext,C#,Asp.net,Multithreading,Httpcontext,我有一个我正在调用的第三方web服务-它的构造如下: var response = client.PostLead(param1, param2 etc); 它需要的两个参数是当前请求的属性(UserAgent和IPAddress) 我想在另一个线程中启动该方法,以便控制超时,但是由于该方法依赖于HttpContext,因此存在一个问题 我可以将HttpContext传递到父类或方法中,但是第一次使用线程时,我不知道这是最好的还是唯一的方法。您使用的是HttpContext还是只需要请求的这两

我有一个我正在调用的第三方web服务-它的构造如下:

var response = client.PostLead(param1, param2 etc);
它需要的两个参数是当前请求的属性(UserAgent和IPAddress)

我想在另一个线程中启动该方法,以便控制超时,但是由于该方法依赖于HttpContext,因此存在一个问题


我可以将HttpContext传递到父类或方法中,但是第一次使用线程时,我不知道这是最好的还是唯一的方法。

您使用的是
HttpContext
还是只需要请求的这两个属性?如果是后者,您可以在将它们传递到线程之前将它们提取到变量中,从而使您不再使用
HttpContext
。您希望如何控制超时?如果您使用的是WebClient,您可以扩展它来控制方法的超时。例子