我有一个 ServiceStack API (3.9.58)。我正在使用 statsd 来计时请求执行,方法是实现一个注册全局请求过滤器和全局响应过滤器的 IPlugin(我知道 RequestLogFeature;这不是唯一的事情)。当请求开始时,它会在 items 集合中粘贴一个Stopwatch
start,并在请求完成后再次将其拉出。
.....
public void Register(IAppHost appHost)
{
appHost.RequestFilters.Add(OnBeginRequest);
appHost.ResponseFilters.Add(OnEndRequest);
}
.....
这是一种享受(就像它在 中一样ServiceRunner
,在哪里IRequestLogger
做同样的事情)。
但是,当我使用 out-of-the-box 添加验证时ValidationFeature
,由于请求不满足我的验证规则,我停止获取转储 4xx 的请求的时间信息。
我从这个 SO question中看到,无论状态如何,全局响应过滤器都应该触发。但对我来说,他们不是。我应该从哪里开始寻找?