零基础ASP.NET Core MVC插件式开发

基础ASP.NET Core MVC插件开发

一个项目随着业务模块的不断增加,系统会越来越庞大。如果参与开发的人员越多,管理起来也难度也很大。面对这样的情况,首先想到的是模块化插件式开发,根据业务模块,拆分成各个独立的插件,然后分配不同开发人员开发,互相之间没有依赖完全独立。

这里介绍一种使用ASP.NET Core MVC 技术开发Web后台系统,使用插件式的方案。这个方案在项目中已经使用效果觉得还不错,这里把主要思想提取出来,做个简单的demo分享下

 

一、创建主项目

这里使用的开发工具是vs2019ASP.NET Core 2.1

创建一个ASP.NET Core MVC项目,项目结构如下图1,完全是脚手架自动创建好的标准项目

 

零基础ASP.NET Core MVC插件式开发

1

 

这里是一个简单的默认程序,在实际的项目中,特别是传统信息管理web后台系统,登录,以及登录之后的主框架,还有一些公共的模块,可以在主项目里面做,不会随业务二变动的。然后各个具体业务模块分成独立的插件开发。

这个主项目建立好之后,运行正常,如图2

 

零基础ASP.NET Core MVC插件式开发

2

 

下面开始做代码部分添加,为了方便阅读代码以截图提供,最后会附加完整的demo程序提供下载。

1、在Startup.cs类里面增加如下代码图3,具体作用看注释,这里就不再赘述。

 

零基础ASP.NET Core MVC插件式开发

3

 

这里是把插件程序注册到主程序里面,核心就是使用了ApplicationParts

 

2、Startup.cs类里面还有一个地方要修改,增加一个Areas区域的路由映射,图4

 

零基础ASP.NET Core MVC插件式开发

4

增加这个的具体原因等会看插件项目的说明

 

3、还有为了演示能否访问到插件,这里增加两个插件的超链接,具体到业务中,菜单肯定是数据库动态维护的。

修改Views/Shared/_Layout.cshtml代码如下 图5

 

零基础ASP.NET Core MVC插件式开发

5

 

 

二、创建插件项目

插件项目也是一个标准的ASP.NET Core MVC 项目。我这里为了演示,创建了两个独立的插件项目。如下图6,图7

 

零基础ASP.NET Core MVC插件式开发

6

 

 

零基础ASP.NET Core MVC插件式开发

7

 

插件项目说明,插件是根据业务模块划分的,还有为了防止注册到主项目之后路由命名的冲突,插件项目就使用MVC自带的区块Areas功能来存放。这里就是前面主项目要增加Areas路由映射的原因。然后删除脚手架默认创建的外层控制器和视图文件,因为主项目也有这样同名的控制器路由,这些不删除,到时候注册到主项目,会出现重复路由错误。

插件项目增加各自的Areas,新建控制器如图8,新建对应试图如图9。这里就添加几个模拟数据。

 

零基础ASP.NET Core MVC插件式开发

8

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygxdw.html