[英]EnableInterfaceInterceptors not available from Autofac RegisterType
[英]registerType exception using autofac in netcore
這不是問題,而是問題。 我有以下示例代碼:
class CommonArgs{
}
class TestArgs : CommonArgs{
}
abstract class AbstractHandler where T: CommonArgs, new (){
}
class TestHandler: AbstractHandler{
}
我使用 autofac 來注冊類型:
builder.RegisterType (typeof (TestHandler)). Named ("testHandler", typeof (AbstractHandler<>)). InstancePerLifetimeScope ();
當我build.Build ()
,我得到一個異常:
System.ArgumentException:“類型‘TestHandler’不可分配給服務‘testHandler (AbstractHandler`1)’。”
什么是正確的注冊類型? (使用dotnet core Autofac 4.8.1)
你快到了,只需使用RegisterType
重載和帶有一些字符串鍵和typeof(AbstractHandler<CommonArgs>))
的Named
這是我的 github 的鏈接,其中包含一個小單元測試來發布您的問題。
代碼:
ContainerBuilder builder = new ContainerBuilder();
builder.RegisterType<TestHandler>().Named("myTestHandler", typeof(AbstractHandler<CommonArgs>));
IContainer container = builder.Build();
var testHandler = container.ResolveNamed("myTestHandler", typeof(AbstractHandler<CommonArgs>));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.