是否可以获取用于解析MVC控制器的Contructor注入的paraeters的统一容器的引用?
我需要当前使用容器的引用,因为我们有使用它的类。
我试图通过将容器实例存储在MvcApplication类的属性中来保存Application_Start()
类中MvcApplication
处理程序中已注册的引用,但是当我尝试访问时它是null它稍后在控制器中。
容器的注册方式如下:
DependencyResolver.SetResolver(new UnityDependencyResolver(CurrentUnityContainer));
前提是CurrentUnityContainer
是MvcApplication类中的非静态属性
然后,在控制器中我们尝试通过访问当前的MvcApplication实例来获取它:
MvcApplication.Instance.CurrentUnityContainer
任何想法为什么容器在控制器中为空,或以其他方式获取它?
答案 0 :(得分:0)
您可以通过System.Web.Mvc.DependencyResolver.Current
静态属性访问依赖项解析程序。
但要注意Service Locator反模式。