我看到写代码中有一个静态类去实现注册,但是其中有2句不是很理解(红色部分)
public static class Bootstrapper
{
public static void Initialise()
{
var container = BuildUnityContainer();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(() => new UnityServiceLocator(container));
}
private static IUnityContainer BuildUnityContainer()
{
var container = new UnityContainer().LoadConfiguration();
container.RegisterControllers();
return container;
}
}
1.DependencyResolver.SetResolver(new UnityDependencyResolver(container));这句
提供了一种依赖解析器注册点,使用指定的依赖解析器,是否是必须的,因为我看见很多人的例子里面并没有使用这个。
2.Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(() => new UnityServiceLocator(container));
这2句话分别有什么作用,为什么要使用?
對與 你的這個方式,這個是必須的。還可以採用另外一個方式。都是提供ioc 注入。
你可以看下它所属的程序集DependencyResolver,比如我现在用的mvc就是用它的。