熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

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

2013-11-13 12:30:56  來源: .NET編程 

  如果沒有對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++音頻/視頻技術開發與實戰

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/16066.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.