【发布时间】:2011-08-17 21:35:38
【问题描述】:
设置如下:
Custom_entity 从用户那里获取一些输入,计算一个数字,并将其与存储在我们数据库中的总数进行比较,以获得总体百分比。总数每周更新一次。为了更新每个用户的 custom_entities 以反映新的总数和这些总数的百分比,我创建了一个每周运行的 SSIS 包。当然,我很好而且顺从,所以我使用 API 来访问 CRM 网络服务来更新 custom_entities。
然而,用户也希望看到他们的 custom_entity 的实时更新,所以我创建了一个插件,在 custom_entity 更新时将重新计算他们的数字,检查“总”,并更新与所有其他更新相关的百分比。
也许你现在看到了问题......
- 当用户从网络更新时,更新插件会针对该 custom_entity 实例触发,他们会得到即时反馈,看到他们的数字并且很高兴。
- 当 SSIS 包运行时,更新插件会触发 ALL 正在更新的 custom_entity 行...
我的问题: 有没有办法(可能通过查看上下文)可以判断插件是通过 SSIS 作业还是通过 Web 调用的,然后退出插件?
目前行数很少,并没有真正影响性能,但很明显,这肯定是糟糕的编程和不必要的 CPU/带宽使用(插件本身在整个过程中多次访问 web 服务执行)。我可以通过查找仅在 SSIS 包调用插件时才会出现的特定属性来短路插件,但我想找到比这更好的方法。
谢谢!
【问题讨论】:
标签: web-services plugins ssis dynamics-crm-4 crm