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

在、ASP.NET MVC的開發中,咱們建立完項目以後,ASP.NET MVC是已Model-Controller-View的形式存在的,在建立項目自動生成的內容上Model咱們很容易分離成類庫,因此這裏不予說明,那麼這時候咱們就像Controller是否是也可以分離出去呢?答案是確定的,下面咱們探討一下Controller如何分離出去。ui

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

第一種方法spa

  代碼以下:當寫完代碼以後再路由中註冊。提示:實現完成以後必須在路由規則方法(RegisterRoutes)裏面進行註冊,註冊代碼以下:繼承

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

 

第二種方法ci

  路由註冊方法代碼以下:缺點是,若是有多個註冊路由的規則,都必須記得添加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"}
);

後面一種方法簡單好用,後面只要指定對於的名空間就能夠了,第一種沒試過。開發

相關文章
相關標籤/搜索