ServiceStack:AppHost.OnRequestEndCallbacks 处理程序在服务外抛出异常时被调用两次

ServiceStack: AppHost.OnRequestEndCallbacks handler gets called twice when an exception is thrown outside of a service

我在应用程序主机的 OnEndRequestCallbacks 块中有一个片段,用于记录审计中的一行 table 用于商业目的。意外的行为是,当请求由于服务之外的某种原因(抛出异常)而失败时,endrequest 事件被命中两次,因此审核了 2 个请求而不是 1 个。当令牌为已到期。异常如您所料通过漏斗,但两次触发结束请求回调处理程序。我在 UncaughtExceptionHandlers 块中添加了一个片段来写入错误并结束请求,但这似乎不起作用,并且无论如何都会记录 'two' 请求。当我在请求过滤器中遇到异常时发生了这种情况,但是添加代码段以向响应写入错误并结束请求以修复那里的重复项。同样的方法似乎并没有以同样的方式在全局处理程序中起作用。

现在应从 this commit 解决此问题。

此更改适用于 v5.6.1+,即现在 available on MyGet