我有一个我正在调用EndPointConfigurator
的类,我想在其中注入一些东西,特别是一个工作单元,并在该类中使用它。
public class EndPointConfigurator
{
private static UnitOfWork _unitOfWork;
public EndPointConfigurator(IUnitOfWork uow)
{
_unitOfWork = (UnitOfWork)uow;
}
//use unit of work
}
我注册了我的控制器:
builder.RegisterAssemblyTypes(getExecutingAssembly)
.Where(t => t.Name.EndsWith("Controller", StringComparison.InvariantCulture));
我想知道注册这个类的最佳方法是什么,以便它可以像控制器那样注入一些东西。控制器没有接口,我不想或不需要这个类的接口,因为我不需要将它注入任何地方。
答案 0 :(得分:1)
您可以将类型注册为:
builder.RegisterType<EndPointConfigurator>().As<EndpointConfigurator>();
或
builder.RegisterType<EndPointConfigurator>().AsSelf();
或者,如果您未指定任何服务, Autofac 将自动注册为
builder.RegisterType<EndPointConfigurator>();
我更喜欢第一种解决方案,这样我们明确告诉容器我们想要做什么。