我有两个问题。我安装了Unity和Unity MVC软件包以开始调查它。我通过注册一些类型得到了一些简单的控制器构造函数注入工作,所以它进展顺利。我注意到它甚至在global.asax被击中之前就开始了:
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(example.org.UnityMvcActivator), nameof(example.org.UnityMvcActivator.Start))]
问题1:甚至这个语法的名称是什么?某种类型的内联汇编引用将类型/方法附加到其他地方?我以前从未见过这个。
问题2:UnityMvcActivator具有对应于上面[assembly]行的Start()和Shutdown()方法,后者只是在容器上调用dispose。 Start()的核心元素是调用:
DependencyResolver.SetResolver(new UnityDependencyResolver(UnityConfig.Container));
UnityMvcActivator是否存在令人信服的原因,例如dispose(),或者它可能需要尽早启动OR或者它只是用于启动我的样板脚手架,我也可以放置SetResolver( )行到我的global.asax然后删除这个类?