asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET MVC 4框架揭秘:基于IoC的DependencyResolver(1)[2]


发布日期:2018年03月14日
 
ASP.NET MVC 4框架揭秘:基于IoC的DependencyResolver(1)[2]

如果没有对DependencyResolver进行显式注册系统默认使用的是一个类型为DefaultDependencyResolver的对象如下面的代码片段所示这是一个私有类型用于根据类型提供服务实例的GetService方法直接以反射的方式根据类型创建并返回对应的实例对于类型为接口/抽象类或者不曾定义默认公有构造函数的类型我们直接返回Null也就是说在默认的情况下Controller的激活最终是通过对Controller类型的反射来实现的DefaultDependencyResolver的另一个GetServices方法直接返回一个空的对象列表

private class DefaultDependencyResolver : IDependencyResolver

{

public object GetService(Type serviceType)

{

if (serviceTypeIsInterface || serviceTypeIsAbstract)

{

return null;

}

try

{

return ActivatorCreateInstance(serviceType)

}

catch

{

return null;

}

}

public IEnumerable<object> GetServices(Type serviceType)

{

return EnumerableEmpty<object>()

}

}

返回目录ASPNET MVC 框架揭秘

编辑推荐

ASP NET开发培训视频教程

Microsoft NET框架程序设计视频教程

Java程序性能优化让你的Java程序更快更稳定

Visual C++音频/视频技术开发与实战

[] []

               

上一篇:ASP.NET MVC 4框架揭秘:基于IoC的ControllerActivator[1]

下一篇:ASP.NET MVC 4框架揭秘:基于IoC的DependencyResolver(1)[1]