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