我有ICommand和ICommandHandler<TCommand>
接口,我想注入工厂。您能检查一下并让我知道我做错了吗?我这样做如下:
CommandBus-在这里我收到错误消息(显示在下面的黑引号中)
var handler = _context.Resolve<ICommandHandler<TCommand>>();
我在AutofacModule类中注册命令处理程序
builder.RegisterType<CreateMakeCommandHandler>()
.As<ICommandHandler<CreateBaseCommand<MakeEntity>>>();
Autofac.Core.Registration.ComponentNotRegisteredException:所请求的服务'Shop.Services.CommandHandlers.BaseCommandHandlers.ICommandHandler'1 [[Shop.Domain.Commands.Model.CreateModelCommand'未注册。为避免此异常,请注册一个组件以提供服务,使用IsRegistered()检查服务注册,或使用ResolveOptional()方法解决可选的依赖项。 在Shop.Services.CommandHandlers.BaseCommandHandlers.CommandBus.d__7'1.MoveNext()中的C:\ Projects \ Shop \ Shop \ Shop \ Services \ CommandHandlers \ BaseCommandHandlers \ CommandBus.cs:line 31
谢谢。
编辑:
public class CreateBaseCommand<TEntity> : BaseCommand where TEntity : BaseEntity
{}