【发布时间】:2018-08-10 03:29:14
【问题描述】:
我正在尝试使用统一容器注册 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;
}
【问题讨论】:
-
显然 Unity 尝试使用
HttpClient(HttpMessageHandler)或HttpClient(HttpMessageHandler, Boolean)构造函数创建HttpClient。HttpMessageHandler是一个抽象类,所以不能创建它的实例。
标签: c# .net unity-container asp.net-web-api