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

时间:2014-10-28 23:10:59

标签: c# .net multithreading dotnet-httpclient

我对HttpClient感到困惑。目前我在整个应用程序中使用了这个类的单个实例。

但似乎它不允许我为某些请求专门设置AllowAutoRedirect选项。

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

1 个答案:

答案 0 :(得分:1)

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

如果你沿着这条路线走,那么为HttpClient创建一个包装类将是有益的,在任何情况下,如果你想改变一个实例,你可以将HttpClient作为参数传递。 / p> 在大多数情况下,

HttpClient应该用作一个实例,因为您可以根据需要调用任意数量的请求,并且该对象具有处理异步和响应的所有工具。对于请求类型WebRequestHttpWebRequest,这是相同的。

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