0

我有一个ITestService接口。TestService1TestService2实现 ITestService。我想要的是使用TestService1Controller1TestService2Controller2。如何在 Autofac 中做到这一点?

我正在使用 ASP.NET MVC4。

我试过这个但没有用

builder.RegisterType<Controller1>().WithParameter(ResolvedParameter.ForNamed<ITestService>("TestService1")).InstancePerDependency();
builder.RegisterType<Controller2>().WithParameter(ResolvedParameter.ForNamed<ITestService>("TestService2")).InstancePerDependency();

我也试过这个,没有成功

    builder.RegisterType<TestService1>().Named<ITestService>("TestService1").As<ICategoryService>();
    builder.RegisterType<TestService2>().Named<ICategoryService>("TestService2").As<ICategoryService>();

    builder.RegisterType<Nop.Web.Controllers.Controller1>().WithParameter(ResolvedParameter.ForNamed<ITestService>("TestService1"));
    builder.RegisterType<Nop.Admin.Controllers.Controller2>().WithParameter(ResolvedParameter.ForNamed<ITestService>("TestService2"));
4

1 回答 1

0

您是否指定了名称“TestService1”和“TestService2”?例如

builder.RegisterType<TestService1>().As<ITestService1>().Named("TestService1");
builder.RegisterType<TestService2>().As<ITestService2>().Named("TestService2");
于 2013-06-25T13:28:55.920 回答