How to override default unhandled exception output in Owin?

前端 未结 2 1008
走了就别回头了
走了就别回头了 2021-01-04 10:41

I\'ve written simple server using Owin Self-hosting and WebApi:

namespace OwinSelfHostingTest
{
    using System.Threading;
    using System.Web.Http;
    us         


        
2条回答
  •  一整个雨季
    2021-01-04 11:14

    When you await a async method, an exception won't be thrown into the caller's context, but will be available by inspecting the task returned to the caller.

    So, with this modification to the solution provided by @yuval-itzchakov you'll be able to capture underlying exceptions:

    var subtask = Next.Invoke(context);
    
    await subtask;
    
    if (subtask.Exception != null)
    {
        // log subtask.Exception here
    }
    

提交回复
热议问题