新開發一個中間件,需要使用到路由信息。
但是,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缺一不可。

如圖是在中間件中獲取到的路由數據。
