.NET MVC控制器分離到類庫的方法


在、ASP.NET MVC的開發中,我們創建完項目之后,ASP.NET MVC是已Model-Controller-View的形式存在的,在創建項目自動生成的內容上Model我們很容易分離成類庫,所以這里不予說明,那么這時候我們就像Controller是不是也能夠分離出去呢?答案是肯定的,下面我們探討一下Controller如何分離出去。

  這里我提供兩種分離的方法,一是重寫方法繼承自IControllerFactory接口,實現里面的方法,二是MVC提供了直接在路由注冊里面去控制控制器的書寫,下面就這兩種類型簡單貼一下代碼。

第一種方法

  代碼如下:當寫完代碼之后再路由中注冊。提示:實現完成之后必須在路由規則方法(RegisterRoutes)里面進行注冊,注冊代碼如下:

    ControllerBuilder.Current.SetControllerFactory(new ControllersFactory("BookSystem_Controllers")); //BookSystem_Controllers為控制器的類庫

 

第二種方法

  路由注冊方法代碼如下:缺點是,如果有多個注冊路由的規則,都必須記得添加namespaces屬性,否則會出現錯誤

?
1
2
3
4
5
6
7
//系統默認路由
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {controller = "Login", action = "Index", id = UrlParameter.Optional},
namespaces: new string[] {"BookSystem_Controllers"}
);

后面一種方法簡單好用,后面只要指定對於的名空間就可以了,第一種沒試過。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM