MS CRM中的自动编号

时间:2011-08-04 21:42:15

标签: dynamics-crm-2011

我知道这是一个古老的讨论,但仍然是一个开放的讨论。

情景很简单,你有一个实体说帐户,其中包含一个名为“AccountId”的属性 应自动递增。

这方面的主要候选人是在Pre事件上注册的插件。

有不同的选择可供选择。

  • 获取最大数量,增加它并分配给AccountId属性。
  • 依靠某些外部来源,例如一些Web服务或数据库来执行此工作。 (这不是一个好方法)

这些方法是disccused here

就个人而言,我赞成方法1,但我有疑虑:

1-对concurent请求的重复

锁定和互斥可以减少这种情况但是在“农场环境”的情况下可以采取哪些措施来避免这个问题?

1 个答案:

答案 0 :(得分:3)

“农场环境”中的问题,实际上意味着安装了前端角色的多台服务器,是您几乎无法避免重复计数器值。

使用锁或互斥锁,您只能在单个机器环境中实现一致性。

如果您需要可靠的编号,您应该使用生成数字的服务或专用数据库(这意味着,不支持CRM数据库,因为这将不支持)作为后端,您可以使用锁来协调请求