我正在构建这个应用程序,每当创建新联系人时,它都会在动态 CRM 上创建一个 webhook。我一直在关注本指南在您的 Web 应用程序中接收 WebHooks和ASP.NET WebHooks - 接收和处理。我正在使用 requestbin 来检查是否实际创建了 webhook,并且它可以工作。网络钩子已创建。问题是,我不明白如何在我的 Windows 窗体中接收数据。我已将此添加到我的 App.config
<appSettings>
<add key="MS_WebHookReceiverSecret_dynamicscrm" value="12345678901234567890123456789012"/>
</appSettings>
我还创建了两个类:
WebHookRegister:注册动态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}
但我不明白在代码中的何处创建它。
谢谢你的帮助