CRM 2013通过自定义工作流获取CRM URL

时间:2015-05-11 15:36:19

标签: c# workflow crm dynamics-crm-2013

我需要通过自定义工作流程获取CRM网址,以便在下一步发送电子邮件时使用。这样做的原因是要区分这个电子邮件服务器的用户(UAT / Live)。

我一直在尝试使用来自此网站https://social.microsoft.com/Forums/en-US/31ff567d-65ea-4385-a764-68a2121ae8c0/ms-crm-2011-get-path-of-crm-server-url-in-plugin?forum=crmdevelopment建议的HTTPContext路由,但我得到的结果是无用的,因为我只是收到了一个" /"背部。

有没有人知道从这一点开始做什么或为什么这可能不起作用?

2 个答案:

答案 0 :(得分:3)

这不能以受支持的方式完成,无需创建与CRM发现服务的连接,这需要您提供凭据。工作流程中提供的组织服务没有发现组织URL的方法。

您有两种选择:

1)使用InputParameter上的CodeActivity代码属性将其作为参数传递给工作流程。

2)创建(如果您还没有)一个配置实体来存储URL并在您的代码中检索它。

如果您确实不需要该网址(即,您没有创建链接),那么您只需查询Organization实体的Name属性即可。这将为您提供组织的名称 - 这将是URL唯一的唯一部分。这将允许您向用户表明电子邮件是来自UAT还是Prod。

答案 1 :(得分:0)

我最终提出了一个解决方案,使用environment.machinename来提取服务器名称。从那里我可以确定工作流已经运行的生产服务器,并将包含,dev,uat或live的字符串传递给输出以在我的活动电子邮件中使用。

请注意,我必须在没有沙盒模式的情况下注册工作流程。希望这有助于将来的某些人。