我正在尝试使用 Autofac 和 Autofac.Integrations.Web 来注册 ASP.NET MVC 控制器。我目前正在使用程序集扫描来查找控制器,但其中一个需要一个我更愿意传入的特殊参数。下面是我尝试过的注册。
var builder = new ContainerBuilder();
builder.RegisterControllers(Assembly.GetExecutingAssembly());
// so far I have tried
builder.Register<SpecialController>(c =>
new SpecialController(wierdParam, c.Resolve<IDependency>())
).Named<SpecialController>("controller.special")
.As<SpecialController>().As<IController>();
/* And this
builder.Register<SpecialController>(c =>
new SpecialController(url, c.Resolve<IDependency>())
);
*/
/* plus this
builder.Register<SpecialController>(c =>
new SpecialController(url, c.Resolve<IDependency>())
).Named<SpecialController>("controller.special");
*/
感谢您的帮助。