【发布时间】:2020-06-02 17:37:04
【问题描述】:
我正在尝试将System.Web.Http.ApiController 上的属性设置为已解析IServerPackageRepository 的值。控制器在HttpSelfHostServer 中运行,DependencyResolver 已设置为AutofacWebApiDependencyResolver。这是来自Autofac.Module.Load 方法的代码
...
builder.RegisterType<ServerPackageRepository>()
.As<IServerPackageRepository>()
.SingleInstance()
.WithParameter("path", this.StoragePath);
builder.RegisterApiControllers(Assembly.GetExecutingAssembly())
.PropertiesAutowired();
ApiController 控制器本身具有类型属性
public IServerPackageRepository Repository { get; set; }
但从未解决。
我正在尝试这样做,因为ApiController 除了默认构造函数之外什么都不会。有关如何使用 Autofac 以正确方式执行此操作的任何建议?
【问题讨论】:
-
RegisterApiControllers()的实现是什么? -
@Aliostad
RegisterApiControllers()是 Autofac 贡献项目的Autofac.Integration.WebApi中的扩展方法。