1

我正在构建这个应用程序,每当创建新联系人时,它都会在动态 CRM 上创建一个 webhook。我一直在关注本指南在您的 Web 应用程序中接收 WebHooksASP.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}但我不明白在代码中的何处创建它。

谢谢你的帮助

4

0 回答 0