.net core area区域和前后台分离总结

为什么要使用及优点前后台分离

.net core新建一个项目,在controllers中新建一个contrllor时会添加最大与最小依赖,选择最大,添加成功后,即可在项目上添加区域了,如果没有添加依赖,那只能手动添加区域文件夹了。目录如下:

项目文件夹:Areas\Admin\Controllers|Views|Models

如果没有Areas时,contrllers中前后台会形如这样:NewsController|AdminNewsController;ProductController|AdminProductController

利用area可以进行分离。有的同学可能认为新建一个文件夹将两个分开写,这样确定可以,但如果controller名字一样的话,照样会冲突。

比如NewsController在controller下,在Admin文件夹中新建NewsController会得到路由错误。如果在Area/admin/controller下建NewsController这不会冲突。这个是优点,关注点分离。

另外需要在controller中加入area属性[Area("Admin")]小括号中的名称即areas中文件夹的名称,另外还需要在startup.cs中添加路由

app.UseMvc(routes =>
{
routes.MapRoute(
name : "areas",
template : "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
});

 

 

想在区域控制器省略[Area("Manage")]属性

2、通过配置MapRouteRoute

在配置中直接指定区域名,这样就不需要在区域控制器中指明区域名了,直接这里配置好就访问正常了。

对此可进行扩展,将Manage在配置文件中定义,可实现动态区域area,具体应用在后面管理目录时,可隐藏实际区域名称

Configuration.GetSection("AdminPath").Value;

 

声明:本站内容来源于原创和互联网,尊重作者版权,转载请注明来源网址,欢迎收藏,谢谢!