0

当在“Dynamics CRM Online”中创建联系人时,我们正在尝试将数据推送到 Azure 服务总线队列。我们通过使用插件注册工具注册插件来实现它。但不知何故,它在保存联系人时抛出了一个错误。这是我们在插件中实现的代码:

public void Execute(IServiceProvider serviceProvider)
    {
        try
        {                
            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
            Entity entity = (Entity)context.InputParameters["Target"];
            if (entity.LogicalName.Equals("account"))
            {
                QueueDescription qd = new QueueDescription("testQ");

                qd.MaxSizeInMegabytes = 5120;
                qd.DefaultMessageTimeToLive = new TimeSpan(0, 1, 0);

                string connectionString =
                    CloudConfigurationManager.GetSetting("Endpoint=sb://test.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=secretcode=");

                var namespaceManager =
                    NamespaceManager.CreateFromConnectionString(connectionString);
                if (!namespaceManager.QueueExists("testQ"))
                {
                    namespaceManager.CreateQueue("testQ");
                }

                QueueClient Client =
                    QueueClient.CreateFromConnectionString(connectionString, "testQ");

                BrokeredMessage message = new BrokeredMessage(entity);

                message.Properties["FirstName"] = "ABC";
                message.Properties["LastName"] = "Z";

                Client.Send(message);
            }
        }
        catch (Exception e)
        {
            throw;
        }
}
4

2 回答 2

0

您应该查看Dynamics CRM 2013 SDK示例,\SDK\SampleCode\CS\Azure 如果您尚未更新到假设您已升级到 '13 秋季版本,您应该查看Dynamics CRM 2011 SDK中的相同位置。它不会完全按照您的方式工作 - 但您可以使用支持的方法满足您的所有要求。

您需要使用 Dynamics CRM 中的 Azure 插件功能。我会添加细节,但它们太长了,最好用图片阅读:http: //blogs.msdn.com/b/crm/archive/2011/02/18/windows-azure-appfabric-integration-with-microsoft -dynamics-crm-step-by-step.aspx

于 2013-12-06T22:35:48.630 回答
0

你是如何引用 DLL 的?您必须添加本地引用(不是 GAC)。例如:C:\Program Files (x86)\Windows Azure 平台 AppFabric SDK\V1.0\Assemblies\NET4.0\Microsoft.ServiceBus.dll

此外,将“复制本地”设置为 true,以便程序集与您的插件一起打包。

于 2013-10-28T14:04:44.473 回答