OnError管道中不处理来自异步方法的NancyFx错误

时间:2017-04-21 13:59:53

标签: c# asp.net asynchronous nancy

我有NancyFX模块和异步POST方法。

根据文档,所有错误都在这里处理:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

我将其更正为

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

我开始在

中处理错误
pipelines.OnError.AddItemToEndOfPipeline((ctx, exception) => {}

在Bootstrapper中