c# - 为什么中间件会以这种方式产生错误?
问题描述
我是 ASP.NET Core 的初学者,只是一个关于中间件如何产生错误的问题。
我正在阅读一本解释配置中间件时顺序重要性的书:
但是我有点困惑,对于第二种情况,为什么图像大小调整中间件不能产生如下错误:
因为中间件在调用之前生成错误是合乎逻辑的next()
:
public class ImageResizeMiddleware
{
private readonly RequestDelegate _next;
public ImageResizeMiddleware (RequestDelegate next) { _next = next }
public Task Invoke(HttpContext context)
{
... // if an error occurs here, then 500 should be added to the context here
await next(context); // control passed to the error handling middleware
}
}
所以如果之前发生错误next(context)
,那么错误处理中间件可以看到500 HttpContext
,不是吗?
解决方案
推荐阅读
- php - 如何使用 PHP 检查网页是否包含图像文件?
- android - 即使从 Firebase 获取浮点值后,Toast 仍显示值为 null
- sql - sql 在子集中创建序列号 - apache derby
- c# - 可为空的泛型引用类型
- php - 是否有可能从 PHP 中的 SQL 求和时间?
- flutter - 使用带 Flutter Dio 包 Flutter 的 Stripe API 添加卡、支付方式、账户
- python - 将数据框中的所有数值转换为浮点数,但保持字符串不变
- java - 两个日期之间的持续时间 Java
- python - 计算组之间的移动平均值并在一些连续的组之间进行平滑
- javascript - 项目未从数组中删除