任务30:RoutingMiddleware介绍以及MVC引入

任务30:RoutingMiddleware介绍以及MVC引入

前面讲到app.Map的方式,它也可以实现路由

当我们的url是task的时候,就会执行里面的context的输出内容

app.Map("/task", taskApp=>{
   taskApp.Run(async context=>{
       await context.Response.WriteAsync("this is a task....");
   });
});

 taskapp,这里的applicationbuilder不是同一个,它是属于另外一套环境

一般不是比较复杂应用我们不会使用,并且它和路由的实现机制也不一样

介绍一般使用路由的方式

首先把middleware加进来。这里加的是依赖注入的配置

 public void ConfigureServices(IServiceCollection services)
{
      services.AddRouting();
}

前提条件必须引入命名空间

using Microsoft.AspNetCore.Routing;

app.UseRouter 它给我们一个RouterBuilder。

builder里面mapGet和mapPost等方法

 app.UseRouter(builder=>builder.MapGet("action",async context=>{
     await context.Response.WriteAsync("this is a action");
 }));

执行dotnet run

http://localhost:5000/action

另外一种方式,直接传一个router给它

clear清空窗口

执行:dotnet run

同样的运行结果

http://localhost:5000/action

route的流程

core的源码

MVC中添加route

mvcrouterHandler

原文地址:https://www.cnblogs.com/wangjunwei/p/10367497.html