Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# 如何设置每个请求的AllowAutoRedirect?在多线程环境中共享HttpClient_C#_.net_Multithreading_Dotnet Httpclient - Fatal编程技术网

C# 如何设置每个请求的AllowAutoRedirect?在多线程环境中共享HttpClient

C# 如何设置每个请求的AllowAutoRedirect?在多线程环境中共享HttpClient,c#,.net,multithreading,dotnet-httpclient,C#,.net,Multithreading,Dotnet Httpclient,我对HttpClient有点困惑。目前,我在整个应用程序中使用这个类的单个实例 然而,它似乎不允许我专门为某些请求设置AllowAutoRedirect选项 HttpClient是否设计为针对每一个其他请求进行实例化?我说的是多线程环境。也许我应该用更灵活的类结构来包装它?要更改每个请求的任何属性,那么是的,您需要创建一个新的HttpClient实例。显然,如果由于多次创建对象而要构建具有多个请求的高性能应用程序,那么性能和资源可能是一个重要因素 如果您确实遵循这条路线,那么为HttpClien

我对HttpClient有点困惑。目前,我在整个应用程序中使用这个类的单个实例

然而,它似乎不允许我专门为某些请求设置AllowAutoRedirect选项


HttpClient是否设计为针对每一个其他请求进行实例化?我说的是多线程环境。也许我应该用更灵活的类结构来包装它?

要更改每个请求的任何属性,那么是的,您需要创建一个新的
HttpClient
实例。显然,如果由于多次创建对象而要构建具有多个请求的高性能应用程序,那么性能和资源可能是一个重要因素

如果您确实遵循这条路线,那么为
HttpClient
创建包装类将是有益的,并且在任何情况下,如果您希望更改为单个实例,可以将
HttpClient
作为参数传递

HttpClient
在大多数情况下应作为一个实例使用,因为您可以调用任意多个请求,并且对象具有处理异步和响应的所有工具。这与请求类型
WebRequest
HttpWebRequest
相同

如果在启动另一个实例之前需要接收200 OK状态,那么与创建自己的队列功能相比,使用一个实例管理这些情况非常容易