新开发一个中间件,需要使用到路由信息。

但是,RouteData是在MVC中间件中才会被赋,我们的中间件是在MVC中间件之前使用的,这样一来,就没办法获取到路由信息了。

好在使用EndPointRouting帮我们解决了这个问题。

 

public void ConfigureServices(IServiceProvider services)
{
    ...
    
    // SetCompatibilityVersion也是必须的,这边不能忘记写了
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); 
}

public void Configure(IApplicationBuilder app)
{
    ....
    app.UseEndpointRouting();
    // 你的中间件
    app.UseMvc();
}

  

SetCompatibilityVersion和UseEndpointRouting缺一不可。

asp.net core 在中间件中获取路由信息(RouteData)

 

 

如图是在中间件中获取到的路由数据。

相关文章:

  • 2021-01-07
  • 2021-08-05
  • 2021-01-06
  • 2022-12-23
  • 2021-11-02
  • 2021-08-06
  • 2022-03-04
  • 2020-03-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-09-01
  • 2022-12-23
相关资源
相似解决方案