C# 从CRM插件调用web服务
我们正在设计一个系统,其中业务计算将封装在CRM插件中,这些插件是从CRM中的工作流调用的 这些业务计算中有许多是在几种不同技术的遗留系统中进行的C# 从CRM插件调用web服务,c#,web-services,dynamics-crm,C#,Web Services,Dynamics Crm,我们正在设计一个系统,其中业务计算将封装在CRM插件中,这些插件是从CRM中的工作流调用的 这些业务计算中有许多是在几种不同技术的遗留系统中进行的 问题是:我们是否必须将此代码作为C#代码移动到插件中,或者我们可以通过插件中的web服务调用它?您可以从插件中调用web服务,然后从工作流中调用这些插件。自从我接触CRM已经很多年了,但我过去经常这样做,应该不会有任何问题。您可以从插件调用web服务,然后从工作流调用这些插件。自从我接触CRM以来,已经有很多年了,但是我曾经做过,并且不应该有任何问题
问题是:我们是否必须将此代码作为C#代码移动到插件中,或者我们可以通过插件中的web服务调用它?您可以从插件中调用web服务,然后从工作流中调用这些插件。自从我接触CRM已经很多年了,但我过去经常这样做,应该不会有任何问题。您可以从插件调用web服务,然后从工作流调用这些插件。自从我接触CRM以来,已经有很多年了,但是我曾经做过,并且不应该有任何问题。 < P>自定义工作流插件是Windows工作流基础活动。无论您在工作流活动中可以做什么,都可以作为工作流插件来做——因此,答案是肯定的。但是,您可能希望将配置参数作为工作流活动的输入(即服务的URL)或将其存储在自定义实体中。通过这种方式,可以从CRM配置所有内容。您甚至可以导出工作流xaml,在设计器中修改它并将其重新导入CRM。在CRM 2011中,这甚至是一种受支持的方法(他们这么说)。注意,对于CRM在线,不支持自定义工作流活动。 < P>自定义工作流插件是Windows工作流基础活动。无论您在工作流活动中可以做什么,都可以作为工作流插件来做——因此,答案是肯定的。但是,您可能希望将配置参数作为工作流活动的输入(即服务的URL)或将其存储在自定义实体中。通过这种方式,可以从CRM配置所有内容。您甚至可以导出工作流xaml,在设计器中修改它并将其重新导入CRM。在CRM 2011中,这甚至是一种受支持的方法(他们这么说)。请注意,对于CRM online,不支持自定义工作流活动。您提到插件将“从CRM中的工作流调用”,这可能意味着一些不同的事情:
- 如何处理部署中的其他配置信息?
- 如果已经使用了配置实体或自定义操作,则最好在其中添加一个新字段,而不是在插件的注册步骤中“隐藏”配置信息(反之亦然)
- 配置信息将如何在不同的环境/组织中更改?
- 如果配置是静态的,并且“永远”不需要修改,那么您可以将其硬编码到程序集中
- 如果配置是静态的,并且您使用的是插件,那么您可以将信息放入插件的注册中,并将其作为解决方案的一部分进行迁移
- 您使用的是哪个版本的CRM?
- 自定义操作仅从CRM 2013起提供
- 解决方案是否需要在脱机情况下工作?
- 在这种情况下,自定义操作可能不起作用
- 需要注册多少个不同的插件步骤?/有多少流程将使用自定义工作流活动?
- 如果有很多,那么在每个需要信息的地方指定信息可能变得不可维护,配置实体/操作可能更可取
- 谁有权(以及谁需要)修改配置信息?
- 如果您正在使用自定义活动,并且非技术业务用户有权修改使用该活动的工作流,则您可能不希望将信息作为参数传递给该活动(因为可能会引入用户错误)
- 插件/自定义活动的性能概要是什么?
- 如果希望获得最大性能,则可能不希望从自定义实体或操作检索配置信息的开销
等等。您提到插件将“从CRM中的工作流调用”,这可能意味着一些不同的事情: