Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CRM 2013通过自定义工作流获取CRM URL_C#_Workflow_Crm_Dynamics Crm 2013 - Fatal编程技术网

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

C# CRM 2013通过自定义工作流获取CRM URL,c#,workflow,crm,dynamics-crm-2013,C#,Workflow,Crm,Dynamics Crm 2013,我需要通过自定义工作流获取CRM URL,以便在下一步发送电子邮件时使用。这样做的原因是为了区分此电子邮件来自哪个服务器(UAT/Live) 我一直在尝试使用本网站建议的HTTPContext路由,但我得到的结果是无用的,因为我只收到一个“/”返回 有人知道从这一点上该做什么,或者为什么这可能不起作用吗?如果不创建到CRM发现服务的连接(需要您提供凭据),就无法以受支持的方式实现这一点。工作流中提供的组织服务没有发现组织URL的方法 您有两个选择: 1) 使用CodeActivity上的Inpu

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

我一直在尝试使用本网站建议的HTTPContext路由,但我得到的结果是无用的,因为我只收到一个“/”返回


有人知道从这一点上该做什么,或者为什么这可能不起作用吗?

如果不创建到CRM发现服务的连接(需要您提供凭据),就无法以受支持的方式实现这一点。工作流中提供的组织服务没有发现组织URL的方法

您有两个选择:

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

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


如果您真的不需要URL(即,您没有创建链接),那么您可以在
组织
实体中查询
名称
属性。这将为您提供组织的名称-这将是URL中唯一唯一唯一的部分。这将允许您向用户指示电子邮件是否来自UAT或Prod。

最后,我通过使用environment.machinename遍历服务器名称找到了一个解决方案。从那里,我可以确定工作流已运行到哪个生产服务器,并将包含、dev、uat或live的字符串传递到要在活动电子邮件中使用的输出


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

这不是一个好的答案和直接的答案,但您是否尝试过创建一个新字段并用javascript保存url,然后您就可以在工作流中使用它了。@tottotech我考虑过这一点,但是工作流是从许多不同的实体(所有活动)运行的所以我宁愿远离这个解决方案你好,尼克,谢谢你的反馈。我将尝试使用environment.machinename,看看这是否能让我得到我想要的结果,因为我们的dev、uat、prod都在不同的服务器上,只要我能得到服务器名称,我就能够区分不同的环境,一旦我尝试实现,我将提供结果