我在OWIN举办一个非常简单的网络API v2.2的自我为什么我在OWIN中使用WebApi Self自带的Simple Injector时遇到此ActivationException?
public class StartUp
{
public void Configuration(IAppBuilder appBuilder, IConfigReader configReader)
{
var container = new Container();
container.Register<IConfigReader, ConfigReader>();
var config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
appBuilder.UseWebApi(config);
}
}
当我然后用我的Main()
为:
WebApp.Start(baseAddress, appBuilder =>
new StartUp().Configuration(appBuilder, new ConfigReader()));
然而,当我尝试执行的最后一行appBuilder.UseWebApi(config);
我得到以下例外:
在SimpleI中发生了SimpleInjector.ActivationException' 类型的第一次机会异常njector.dll
附加信息:给定类型IHostBufferPolicySelector是 不是一个具体类型。请使用其他过载之一来注册 这种类型。
完整堆栈:
SimpleInjector.ActivationException发生_HResult = -2146233088
_message =给定的类型IHostBufferPolicySelector不是一个具体类型。请使用其他重载之一来注册此类型。
HResult = -2146233088 IsTransient = false消息=给定类型 IHostBufferPolicySelector不是一个具体类型。请使用其中一个 其他重载注册此类型。来源= SimpleInjector
堆栈跟踪: 在SimpleInjector.Advanced.DefaultConstructorResolutionBehavior.VerifyTypeIsConcrete(类型 implementationType)的InnerException:
的问题不在于单一的界面,它看起来像SimpleInjector
正在努力寻找每一个接口的绑定;如果我为IHostBufferPolicySelector
提供虚拟实现,则会引发其他一些接口,例如IExceptionHandler
等
有一个相关的线程HERE但我不知道它是如何与SimpleInjector
? 自我主机是一个控制台应用程序,其安装了以下软件包:
- 简单的喷油器的ASP.NET Web API集成v2.61
- 简单的喷油器执行上下文作用域v2.61
- 简单的喷油器V2。 61
- OWIN 1.0
- Microsoft.Owin V2.0.2
- Microsoft.Owin.Hosting V2.0.2
- 微软ASP.NET我们b API 2.2 OWIN v5.2.2
- Microsoft ASP.NET Web API 2.2 OWIN Self Host v5.2。2
其中是'IHostBufferPolicySelector'的注册? – qujck 2014-10-30 12:24:22
什么是'IHostBufferPoslicySelector'和什么是avaialble(默认)实现? – MaYaN 2014-10-30 12:25:59
请发布完整的堆栈跟踪。 – Steven 2014-10-30 12:28:15