c# - REST API 不会触发 DelegatingHandler,只有 swagger 会
问题描述
我需要在我的 c# API 中记录请求和响应,我尝试使用 DelegatingHandler 类方法。
我还在 API 上运行了 swashbuckle/swagger。处理程序似乎工作正常,但它只触发和记录招摇的调用。当我调用任何 API 函数时它不会触发。访问位于服务器文件夹中的图像时,它甚至不会触发。但如果路径与招摇相关,它总是会触发。
public static void Register(HttpConfiguration config)
{
config.MessageHandlers.Add(new MessageLoggingHandler());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: null,
handler: new MessageLoggingHandler()
);
config.MapHttpAttributeRoutes();
}
这就是我到目前为止所得到的。有什么线索吗?
解决方案
我认为它不适用于访问文件,因为它只是控制器方法的中间件。尝试直接调用您的方法 - 如果您的处理程序有效。然后,为了记录对服务器上文件的请求,您也需要检查 IIS 的一些“下级”记录器
推荐阅读
- apache-spark - Spark No Encoder found for java.io.Serializable in Map[String, java.io.Serializable]
- python - 从不分配 numpy.ufunc 的输出
- android - FirebaseFirestore 已启动,无法再更改其设置
- python - 将数据框的子集放入矩阵中
- python - 在 Python 中为 JSON 对象发布请求
- python - 从请求的正文中删除具有“无”值的键
- excel - 从欧元数据快速格式化/转换 Excel 中的数千个空格分隔符数字
- excel - 如何将日期作为变量放入 VBA 的公式中?
- c# - 绑定到从另一个属性中提取数据的属性
- python - 如何找到此 python 包 (__main__) 的详细信息?