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


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

但是,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缺一不可。

 

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM