在大型的项目中,如果功能多,Controller自然也就多,所有的controller都放一起会很庞大繁琐;
系统可能会分为很多模块;一般会分项目组去开发;模块化开发;
每个模块一个项目组;—职责也更加清晰
Vs中添加一个Area,会生成一个小型的MVC结构出来
为控制器添加Area特性,指定其所属的区域
[Area("Order")]
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
Configure中配置区域规则,支持区域Area
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
//支持区域Area
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}", defaults: new
{
});
//endpoints.MapAreaControllerRoute(
// name: "Order",
// areaName: "Order",
// pattern: "Order/{controller=Home}/{action=Index}/{id?}");
//endpoints.MapAreaControllerRoute(
// name: "Product",
// areaName: "Product",
// pattern: "Product/{controller=Home}/{action=Index}/{id?}");
});
}
Area区域支持单独独立发布(vs中右键)