【发布时间】:2019-01-09 18:33:45
【问题描述】:
如果缺少某些数据,我有一些验证中间件会返回特定的响应。
当我使用无效 URL 进行调用时,正在执行中间件,并在响应中发送错误,但错误说明验证问题,而不是 URL 无效。
所以我的问题是,我该如何设置 configure 方法,以便任何无效的 URL 都不应该执行中间件并明确返回 404 错误。
这是我的配置方法:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)//, ITimingLogger timingLogger
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
//app.Use(async (HttpContext context, Func<Task> next) =>
//{
// var timer = new Stopwatch();
// timer.Start();
// await next();
// timer.Stop();
// timingLogger.LogElapsedTime(context.Request.Method, context.Request.Path, timer.ElapsedMilliseconds);
//});
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMiddleware<RequestResponseLoggingMiddleware>();
app.UseMiddleware<UnhandledExceptionHandlerMiddleware>();
app.UseMiddleware<SubscriptionIdValidatorMiddleware>();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
谢谢
【问题讨论】:
标签: routes .net-core middleware