首页 > 解决方案 > Weebhooks handlers 如何通过不同的 webhookhandlers 处理不同的事件

问题描述

以下情况:我可以为第 3 方提供商提供 webhook,该提供商会将所有事件发送到此 webhook 接收器。

我创建了一个标准的 WebHookHanler

public class CustomHandler : WebHookHandler
{
    public override Task ExecuteAsync(string receiver, WebHookHandlerContext context)
    {
        //todo: handling logic
        return Task.FromResult(true); 
    }
}

此提供程序将所有事件发送到此 webhook,因此我必须首先解析消息以了解正确处理它的事件(即,为每个事件编写一个方法)我的问题是:有没有办法可以编写每个特定事件的特定处理程序,并且事件将被路由到正确的处理程序?

因为在当前情况下,一切都归于那个 1 处理程序,并且解析消息以获取事件在这里似乎不是很优雅......

标签: .netasp.net-web-apiwebhooks

解决方案


这部分回答了我的问题:https ://github.com/aspnet/WebHooks/issues/237

如果您编写多个处理程序,则不可能只调用其中一个。无论如何,它将继续执行每个处理程序,但您可以退出任何不必要的处理程序检查,即。ID 属性(如提供的 URL)

问题是我的提供商总是将所有内容发送到同一个 URL,所以我什至无法修改请求中的 id 部分

也许这对某人有帮助


推荐阅读