C# 在.net核心Web API中使用ApplicationBuilder映射注入自定义中间件时,未调用默认控制器
我尝试为特定路径添加特定中间件,如下所示。中间件正在被调用,但控制器没有被调用,API返回404 not foundC# 在.net核心Web API中使用ApplicationBuilder映射注入自定义中间件时,未调用默认控制器,c#,asp.net-core-webapi,C#,Asp.net Core Webapi,我尝试为特定路径添加特定中间件,如下所示。中间件正在被调用,但控制器没有被调用,API返回404 not found app.Map("/api/tokenize", subApp => { subApp.UseRequestTokenizationMiddleware(); }); 所需的代码/配置更改,以便控制器也可以与自定义中间件一起调用 关键在于,在.NETCore中,您可以指定请求所采用的“路径”。在启动的配置方法中添加
app.Map("/api/tokenize", subApp =>
{
subApp.UseRequestTokenizationMiddleware();
});
所需的代码/配置更改,以便控制器也可以与自定义中间件一起调用 关键在于,在.NETCore中,您可以指定请求所采用的“路径”。在启动的配置方法中添加一行
app.UseRequestTokenizationMiddleware();
并确保它只处理相关的请求。然后,链中的下一个处理程序将获得请求。配置中的最后一件事通常是
app.UseMvcWithDefaultRoute();
这是一个良好的开端存在不同的路径相关中间件组,在每个中间件中添加每个可能的路径条件不是最佳做法。当然不是。理论上,每个处理程序都会依次查看请求并说“不关我的事……下一步”,除非它采取行动(auth/identity/etc)。它不关心其他处理程序存在什么,也不关心它们做什么。“关注点分离”