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

ASP.NET MVC 4框架揭秘:基於IoC的ControllerActivator[2]

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

  public class EmployeeController : Controller

  {

  //其他成員

  public IEmployeeRepository Repository { get; private set; }

  public EmployeeController(IEmployeeRepository repository)

  {

  thisRepository = repository;

  }

  }

  為了讓ASPNET MVC的Controller激活系統采用我們自定義的ControllerActivator來創建目標Controller我們需要創建並注冊一個相應的DefaultControllerFactory對象如下面的代碼片段所示我們在Globalasax中創建一個NinjectControllerActivator對象並注冊了接口IEmployeeRepository和實現類型EmployeeRepository之間的匹配關系最後據此創建一個DefaultControllerFactory對象通過當前的ControllerBuilder進行注冊

  public class MvcApplication : SystemWebHttpApplication

  {

  protected void Application_Start()

  {

  //其他成員

  NinjectControllerActivator controllerActivator =

  new NinjectControllerActivator()

  controllerActivatorRegister<IEmployeeRepository EmployeeRepository>()

  DefaultControllerFactory controllerFactory =

  new DefaultControllerFactory(controllerActivator)

  ControllerBuilderCurrentSetControllerFactory(controllerFactory)

  }

  }

  再次運行我們的程序依然會得到如圖所示的結果其實自定義ControllerActivator實現IoC的方式並不是很常用接下來我們介紹第三種更加常用的IoC實現方式

       返回目錄ASPNET MVC 框架揭秘

       編輯推薦

       ASP NET開發培訓視頻教程

       Microsoft NET框架程序設計視頻教程

       Java程序性能優化讓你的Java程序更快更穩定

       Visual C++音頻/視頻技術開發與實戰

[]  []  


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