【问题标题】:NancyFx errors from async methods are not handled in OnError pipelinesOnError 管道中不处理来自异步方法的 NancyFx 错误
【发布时间】:2017-09-18 13:45:01
【问题描述】:

我有带有异步 POST 方法的 NancyFX 模块。

根据文档,所有错误的处理方式如下:

https://github.com/NancyFx/Nancy/wiki/The-Application-Before%2C-After-and-OnError-pipelines

如果我编写的代码不是异步方法,确实会处理错误。

但是当异步方法中发生异常时,我永远不会进入回调。

【问题讨论】:

    标签: c# asp.net asynchronous nancy


    【解决方案1】:

    问题在于我声明为异步方法的 POST 方法签名不正确,但忘记将其设为异步。 而 NancyFx 引擎并没有注意到它。

    Post["/order/validation", true] = (parameters, token) => Task.FromResult...
    

    在我改正后

    Post["/order/validation", true] = async (parameters, token) => await ...
    

    我开始处理内部的错误

    pipelines.OnError.AddItemToEndOfPipeline((ctx, exception) => {}
    

    在引导程序中

    【讨论】:

      猜你喜欢
      • 2016-11-08
      • 2022-01-09
      • 1970-01-01
      • 2014-01-30
      • 2014-12-02
      • 2019-04-12
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      相关资源
      最近更新 更多