我正在尝试向统一容器注册 HttpClient 对象的实例,以便它可以在整个应用程序中使用,但遇到错误 - “HttpMessageHandler 类型没有可访问的构造函数。”
这是我用来向 Unity 注册 HttpClient 的代码-
private static IUnityContainer BuildUnityContainer()
{
var container = new UnityContainer();
container.RegisterType<HttpClient>(
new InjectionProperty("BaseAddress", new Uri(ConfigurationManager.AppSettings["ApiUrl"])));
return container;
}
最佳答案
您可以使用工厂方法来注册它:
container.RegisterType<HttpClient>(
new InjectionFactory(x =>
new HttpClient { BaseAddress = new Uri(ConfigurationManager.AppSettings["ApiUrl"]) }
)
);
关于c# - 如何通过 Unity 容器配置 HttpClient?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697053/