我为我的应用程序创建了一个基类ApiCaller,它有一个在客户端上进行一些安装的方法,以及一个抽象方法CreateHttpClient(),它在子类中被重写,返回一个名为Instance的静态只读属性HttpClient。因此,从ApiCaller继承的每个ChildApiCaller都会获得它自己的静态HttpClient,并将它的ChildUrl传递给基础上的Setup。
我遇到了一些代码,我想重构为另一个Child ApiCaller,它包含了这个:
using(var handler = new HttpClientHandler { CookieContainer = container })
using (var client = new HttpClient(handler))
所以除了创建另一个HttpClient之外,我没有看到交换处理程序或容器的方法。这里的CookieContainer可以通过包含方法的每次调用而有所不同,因此我们每次都会获得一个带有新cookie的新HttpClient。有没有办法使用这个变量CookieContainer我的模式使用每个BaseAddress的静态HttpClient?