gpt4 book ai didi

c# - 是否有可能在 Controller 中获取当前的Unity容器

转载 作者:太空狗 更新时间:2023-10-29 19:50:45 24 4
gpt4 key购买 nike

我这样注册了统一容器:

    var container = new UnityContainer();

container.RegisterType<ICacheManager, CacheManager>(new ContainerControlledLifetimeManager())

是否可以从 Controller 访问这个“容器”

最佳答案

不确定为什么需要它,但这是代码:

public ActionResult Area51()
{
var _service = DependencyResolver.Current.GetService(typeof (IDummyService));

return View();
}

如果您尝试做的是注入(inject) Controller ,则应将 DepedencyResolver 设置为在 Global.asax 的应用程序启动时使用您的 IoC 容器。然后,MVC 将自动向您的 Controller 注入(inject)依赖。

var container = new UnityContainer();
DependencyResolver.SetResolver(new Unity.Mvc4.UnityDependencyResolver(container));

查看更多示例:

http://www.dotnet-tricks.com/Tutorial/dependencyinjection/632V140413-Dependency-Injection-in-ASP.NET-MVC-4-using-Unity-IoC-Container.html

关于c# - 是否有可能在 Controller 中获取当前的Unity容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13231236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com