在我的启动文件中,我有以下代码
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// app.UseMvcWithDefaultRoute();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors(builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
);
app.UseMvc();
app.UseExceptionHandler();
app.Run(async (context) =>
{
await context.Response.WriteAsync("Web API running!");
});
}
我正在使用前端的角度,当来自UI .net核心的错误路由时,使用Web API运行消息发送状态200,这是不好的。 我想在遇到错误路线时抛出404.
答案 0 :(得分:0)
发生这种情况的原因是因为MVC
中间件在没有找到请求的任何路由时会将请求传递给下一个中间件。
因此请求会触及您编写的最后一个中间件"Web API running!"
你为什么需要那个?删除该中间件或至少可以将其配置为仅使用特定路径。
app.Map(new PathString("/monitor"), monitorApp =>
{
monitorApp.Run(async (context) =>
{
await context.Response.WriteAsync("Web API running!");
});
});