Ric*_*ide 22 autofac asp.net-mvc-3
我想在MVC控制器中使用命名参数来解决依赖关系.如果我可以访问Autofac容器,我应该能够这样做:
var service = Container.Resolve<IService>(
new NamedParameter("fileExtension", dupExt)
);
Run Code Online (Sandbox Code Playgroud)
我无法找到如何访问AutoFac容器.是否有我可以使用的容器的全局引用,还是有另一种方法来使用命名参数?
Ric*_*ide 31
我刚刚发现我可以使用IComponentContext来做同样的事情.您可以将IComponentContext的实例注入控制器.
public class MyController : Controller
{
private readonly IComponentContext _icoContext;
public void MyController(IComponentContext icoContext)
{
_icoContext= icoContext;
}
public ActionResult Index()
{
var service = _icoContext.Resolve<IService>(
new NamedParameter("ext", "txt")
);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经找到了一些关于在这个问题中获取容器全局访问权的一些好建议: Web应用程序中的Autofac,我应该在哪里存储容器以便于访问?
我还发现了如何全局访问依赖解析器:ASP.NET MVC3中对autofac依赖解析器的全局访问?
che*_*enZ 11
AutofacDependencyResolver.Current.ApplicationContainer
.Resolve
.ResolveNamed
.ResolveKeyed
.....
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17925 次 |
最近记录: |