我正在尝试为从 ASP.NET C# 中的 WordPress WooCommerce 发送的 Webhooks 创建一个 WebHookHandler。
我首先创建了一个 ASP.NET C# Azure API App WebApplication 项目并添加了相关参考(Microsoft.AspNet.WebHooks.Common、Microsoft.AspNet.WebHooks.Receivers、Microsoft.AspNet.WebHooks.Receivers.WordPress)。添加了 WebHookConfig、WordPressWebHookHandler 并在 GlobalAsax 中注册了 WebHookConfig。
然后,我将应用程序发布为 Azure 应用服务。
我的 WordPressWebHookHandler 仍然是示例的默认设置,如下所示:
public class WordPressWebHookHandler : WebHookHandler
{
public override Task ExecuteAsync(string receiver, WebHookHandlerContext context)
{
// make sure we're only processing the intended type of hook
if("WordPress".Equals(receiver, System.StringComparison.CurrentCultureIgnoreCase))
{
// todo: replace this placeholder functionality with your own code
string action = context.Actions.First();
JObject incoming = context.GetDataOrDefault<JObject>();
}
return Task.FromResult(true);
}
}
在 WooCommerce 中测试用户创建 WebHook 时,我可以在日志中看到如下请求。
但不幸的是,调试时从未收到它,我看到以下错误。
我在想也许我需要一个自定义 WebHook 而不是 WordPress 特定的,因为这是一个 WooCommerce Webhook。或者可能在路由中处理错误并最终在另一个控制器中。
任何帮助深表感谢。