我正在尝试在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特定的WebHook,因为这是WooCommerce Webhook。或者可能在路由处理中处理有误,导致其进入另一个控制器。
非常感谢任何帮助。