我正在构建此应用程序,以便在创建新联系人时在Dynamics CRM上创建一个Webhook。我一直在遵循本指南Receiving WebHooks in your web application和ASP.NET WebHooks - receiving and processing。我正在使用requestbin来检查webhook是否实际上已创建,并且可以正常工作。 Webhook已创建。问题是,我不明白如何在Windows窗体中接收数据。 我已将此添加到我的App.config
<appSettings>
<add key="MS_WebHookReceiverSecret_dynamicscrm" value="12345678901234567890123456789012"/>
</appSettings>
我还创建了两个类:
WebHookRegister:注册动态CRM CRM Webhook
public static class WebHookRegister
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id= RouteParameter.Optional }
);
config.InitializeReceiveDynamicsCrmWebHooks();
}
}
DynamicsWebHookHandler:从Webhook获取数据(目前,我对它不执行任何操作,稍后我将使用它来填充)。
public class DynamicsWebHookHandler : WebHookHandler
{
public override Task ExecuteAsync(string receiver, WebHookHandlerContext context)
{
JObject data = context.GetDataOrDefault<JObject>();
return Task.FromResult(true);
}
}
我要做的最后一件事是在程序中注册我的Webhook(在初始化表单之后,立即调用此命令:
WebHookRegister.Register(new HttpConfiguration());
通过阅读指南,我知道必须按以下方式创建webhook接收者URI:https://<host>/api/webhooks/incoming/<receiver>/{id}
,但是我不理解在代码中的何处创建它。
感谢您的帮助