gpt4 book ai didi

c# - 使用自定义按钮从 CRM 中执行存储过程的最佳方法

转载 作者:行者123 更新时间:2023-11-29 22:15:13 25 4
gpt4 key购买 nike

我正在寻找一些建议。我们有多个系统每晚从 Microsoft Dynamics 4 (CRM) 同步。然而,我经常被要求在白天手动执行 SP,因为有时需要立即同步。此 SP 位于与 CRM 不同的服务器上。

我想向 CRM 添加一个自定义按钮,允许用户在需要时自行将 CRM 同步到其他系统。我不希望这是每次更新记录时都会发生的工作流,这将由用户决定。

我已经做了一些谷歌搜索,关于如何最好地解决这个问题,我正处于十字路口。1)从按钮的 javascript 执行服务或 2)使用工作流执行 SSIS 并从按钮调用它。

如果我使用选项 1,创建 Web 服务的最佳方法是什么?请记住,根据站点之间的互联网速度,同步过程可能需要几分钟才能运行,我必须小心超时。如果我使用 .Net 3.5 asmx web 服务,有什么方法可以立即响应并在后台运行 SP?我知道我可以从 Javascript 调用它。我相信另一种方法是使用 WCF 工作流服务(这对我来说是全新的),它允许后台处理——但这可以从 Javascript 调用吗?

如果我使用选项 2,我如何从 CRM 执行本地 SSIS?我读过这是可能的,但我找不到示例。

抱歉文字墙。任何关于方法的指导或建议将不胜感激。非常感谢。

TL;DR:我正在寻找有关如何使用自定义按钮在 Dynamics 4 中的不同数据库上执行存储过程的一些建议。

最佳答案

您必须创建一个网络服务。它可以是 WCF 服务或经典的 ASMX 服务。将其部署在 CRM 服务器上会稍微复杂一些,但可以完成(在 ISV 文件夹中部署应用程序,然后修改应用程序的 web.config 文件,以便它在自己的配置中恢复 CRM 设置的所有自定义内容)。如果您有一个单独的 Web 服务器(或者至少在 CRM 服务器上有一个单独的网站),这将容易得多。

该服务必须标记为 OneWay - 以便它在被调用后立即返回给调用者。不幸的是,这也意味着您将无法返回错误消息 - 这些消息必须写入日志。

现在在 CRM 表单中创建一个按钮并使用 JavaScript 调用该服务。您应该能够配置您的服务,以便可以通过在 URL 参数中传递任何参数来调用它。

关于c# - 使用自定义按钮从 CRM 中执行存储过程的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15520662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com