.NET MVC控制器分离到类库的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.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"}
);

后面一种方法简单好用,后面只要指定对于的名空间就可以了,第一种没试过。

以上是关于.NET MVC控制器分离到类库的方法的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net mvc和asp.net有啥区别?

将ASP.NET Identity模型移动到类库

类库的 app.config

单独程序集中的 ASP.NET Core MVC 控制器

在将 web api 部署到天蓝色之后,从 api 到类库的每个调用都失败了

如何使用包含在其类依赖注入中的 .net 5 类库的 dll?