我在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