使用ASP.NET MVC 5和Xero.API.SDK.2.2.1.13。

我正在尝试处理在调用Xero Api时引发的所有可能的错误。我正在尝试通过在BaseController中执行OnException操作来实现这一点。这样可以成功捕获所有引发的错误,但是在调试时,我无法访问ValidationErrors列表,该列表似乎包含在filterContext对象(请参见下文)中。我也无法从filterContext对象创建XeroApi.ValidationException对象。

有谁知道在这种情况下如何访问ValidationErrors?还是有一种更合适的方式在单个 Controller 中处理所有Xero和其他相关错误?

 protected override void OnException(ExceptionContext filterContext)
 {
    //Below line results in error: "cannot convert System.Exception to
     ValidationException. An Explicit conversion exists".
     ValidationException ex = filterContext.Exception;

     Exception ex = filterContext.Exception;

     filterContext.ExceptionHandled = true;
 }

最佳答案

Henzard Kruger在Xero社区论坛上提供的答案:

只需破解Xero dll。您需要处理https://github.com/XeroAPI/Xero-Net/blob/master/Xero.Api/Infrastructure/Http/XeroHttpClient.cs#L105中的错误,然后重新编译DLL。

遵循上述建议后,问题已解决。

10-05 18:22