如何从导出解决方案时不会中断的进程引用队列?

时间:2013-04-23 18:45:26

标签: dynamics-crm-2011 dynamics-crm

我有一些创建任务并通过创建队列项实体将它们放入队列的进程。由于队列未包含在解决方案中,因此当我从d​​ev导入并导入以测试时,进程有错误并且未激活。我必须完成这些过程,更新对队列的引用,并激活进程。

有没有办法从我导出和导入到另一个环境时不会中断的进程引用队列?

1 个答案:

答案 0 :(得分:1)

Queue实体不支持解决方案,因此您无法在导出/导入期间保留链接。

最简单的方法是确保每个组织中队列的主键指导(Queue.Id)相同。最简单的方法是遵循these procedures from Gonzalo Ruiz

另一种方法是以编程方式在每个环境中创建队列,以便控制Queue.Id值。

public static Guid CreateQueue(ServerConnection.Configuration serverConfig, 
Guid id, string name) 
    { 
        using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, 
                                                               serverConfig.HomeRealmUri, 
                                                               serverConfig.Credentials, 
                                                               serverConfig.DeviceCredentials)) 
        { 
            IOrganizationService service = (IOrganizationService)serviceProxy; 

            Entity newQ = new Entity("queue"); 
            newQ.Id = id; 
            newQ["name"] = name; 

            Guid newqueueid = service.Create(newQ); 

            return newqueueid; 
        } 
    }

此代码示例来自Deploying Microsoft Dynamics CRM 2011 and CRM Online Solutions from Development through Test and Production Environments,我强烈推荐给任何Dynamics CRM开发人员。