我正在为来自同一应用程序中不同服务器的内部 webhook 设置 Asp.Net WebHook 接收器。因此,我使用内置的 CustomWebHookReceiver。webhook 需要以 JSON 的形式发送几种不同的有效载荷类型,这些有效载荷类型需要被接收方反序列化为不同的强类型,并进行不同的处理。
由于 webhook 调用之间的唯一区别是有效负载,因此将为单个 id 配置单个 webhook 接收器,遵循将共享密钥放置在 web.config AppSetting 中的模式:
MS_WebHookReceiverSecret_<receiver>
为不同的有效负载类型实现不同的 webhook 处理行为的最佳方法是什么。为不同的有效负载类型创建单独的接收器或单独的 ID 似乎不合适,因为安全模型是相同的,并且编写一个新的接收器似乎是矫枉过正。
创建不同的处理程序似乎是正确的方向,但内置设置似乎只允许处理程序指定接收者和优先级。这留下了检查处理程序的 ExecuteAsync 方法内的有效负载并决定如何处理消息的选项。
这是正确的,还是有更好的方法?