如何在.NET Webhook处理程序中返回4xx或5xx错误响应?

时间:2017-11-01 16:11:59

标签: asp.net webhooks http-status-codes

我目前正在使用Microsoft.AspNet.WebHooks实现WebHookHandler。我的钩子运行良好,但我需要能够返回5xx或4xx错误响应。

在线样本仅在ExecuteAsync方法r中显示返回

        return Task.FromResult(true);

我尝试在我的异常处理程序中返回false,但发件人仍然将错误视为一个acknoledgement并收到200 OK。我希望发件人收到错误代码。

2 个答案:

答案 0 :(得分:1)

这是一种你可以做到的方式:

public override Task ExecuteAsync(string receiver, WebHookHandlerContext webHookContext)
        {
            //Throw exception is a way
            //throw new Exception("Exception will be returned if uncomment this section");
            var response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.OK);
            response.Content = new System.Net.Http.StringContent("Custom response");
            webHookContext.Response = response;
            return Task.FromResult(true);
}

答案 1 :(得分:0)

使用传递给Response方法的WebHookHandlerContext参数的ExecuteAsync属性明确设置HttpResponseMessage