.Net Core 项目区域请求设置

.net core 和asp.net MVC区域请求有个区别,这里重点记录一下

asp.net MVC 区域请求直接是/区域名称/控制名称/方法名称,其他不需要设置任何东西,而Core 项目这样请求路径没有错,

只是需要另外设置以下内容,否则,请求404。

 区域结构如下:

1、需要定义区域名称

using Microsoft.AspNetCore.Mvc;

namespace ProjectTest.Areas.Product.Controllers
{
   //注:这里的名称必须和区域名称一致 [Area(
"Product")] public class RedController : Controller { public IActionResult Index() { return View(); } } }

2、Startup.cs文件Configure 方法添加如下配置,添加区域的路由:

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

  

 注意这两点后,就可以直接进行访问了:

如上显示,我们请求地址必须是区域名称加控制器名称加方法名,如果有很多区域,那么请求地址都是不一样的,有时候在一个项目中,我们需要统一请求地址,

那么可以增加路由配置,如下:

using Microsoft.AspNetCore.Mvc;

namespace ProjectTest.Areas.Product.Controllers
{
    [Area("Product")]
    public class RedController : Controller
    {
        [Route("api/{Areas}/TestList")]
        public IActionResult Index()
        {
            return View();
        }
    }
}

 

设置了路由,原本的请求方式就请求不了了

必须要以我们的路由指定请求方式去请求

 

posted on 2019-01-04 11:11  洋气的名字  阅读(341)  评论(0编辑  收藏  举报