接收和处理Dynamics 365 Webhook

时间:2018-11-21 14:52:10

标签: c# asp.net dynamics-crm webhooks asp.net-webhooks

我正在构建此应用程序,以便在创建新联系人时在Dynamics CRM上创建一个Webhook。我一直在遵循本指南Receiving WebHooks in your web applicationASP.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},但是我不理解在代码中的何处创建它。

感谢您的帮助

0 个答案:

没有答案