我已经通过NuGet将Unity.AspNet.WebApi插入了我的Asp.Net WebApi应用程序中,并且我所有的控制器都能够通过构造函数注入来解析类。简单容易。

但是我不确定如何解析global.asax中的类,因为我在这里没有直接访问UnityContainer的权限。我在下面尝试过,它似乎正在工作。有没有更好的办法?

另外,由于这是启动代码,因此不确定是否与注册UnityContainer的WebActivator冲突。我担心在Application_Start()方法中是否总是应该有一个Dependencyresolver准备好了。

var o = GlobalConfiguration.Configuration.DependencyResolver.GetService(typeof(IService));
var service = (IService)o;
serviceInitializePermissionsCache();

最佳答案

回答我自己的问题:

var service = UnityConfig.GetConfiguredContainer().Resolve<IService>();

关于c# - 如何使用Unity.AspNet.WebApi解析global.asax中的类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27839375/

10-12 05:16