Dynamics CRM 中的 "Optimistic" 异步操作是什么?
What is "Optimistic" Asynchronous Operations in Dynamics CRM?
我正在学习 Dynamics CRM 2015(与之前版本的差异)。我的经验是在Dynamics CRM 2011,显然是有点跳跃;我正在学习 YouTube 上的一些教程并遇到术语 "Optimistic" 异步。
我搜索了这个词,但很难找到我需要的答案。有人可以向我解释一下吗?另外,这是一个主要用于 Dynamics CRM 的术语吗?
谢谢!
在 Dynamics CRM 中过度使用工作流会导致 SQL 服务器数据库中经常发生死锁。 IE。异步操作 table 趋于快速增长,并且处理工作流操作作业的多个并发线程经常竞争获得对共享数据库资源的独占访问权。
数据库(悲观)锁定往往很难扩展,尤其是在高流量事务系统中,因此 SQL Server 2005 引入了另一种称为 乐观的技术锁定。 (可以找到很好的解释 here and here。)当从数据库中检索记录时,会包含一个包含唯一时间戳或版本号的列。当要更新这条记录时,数据库只是检查它的时间戳或版本号是否仍然保持不变。如果不是,在原始读取操作之后另一个进程显然已经修改了同一行,因此更新基于脏读并且必须被取消并且事务被回滚。
Dynamics CRM 2015 Update 1 通过 RowVersion 属性为实体引入了乐观并发,您可以阅读 MSDN。
我正在学习 Dynamics CRM 2015(与之前版本的差异)。我的经验是在Dynamics CRM 2011,显然是有点跳跃;我正在学习 YouTube 上的一些教程并遇到术语 "Optimistic" 异步。
我搜索了这个词,但很难找到我需要的答案。有人可以向我解释一下吗?另外,这是一个主要用于 Dynamics CRM 的术语吗?
谢谢!
在 Dynamics CRM 中过度使用工作流会导致 SQL 服务器数据库中经常发生死锁。 IE。异步操作 table 趋于快速增长,并且处理工作流操作作业的多个并发线程经常竞争获得对共享数据库资源的独占访问权。
数据库(悲观)锁定往往很难扩展,尤其是在高流量事务系统中,因此 SQL Server 2005 引入了另一种称为 乐观的技术锁定。 (可以找到很好的解释 here and here。)当从数据库中检索记录时,会包含一个包含唯一时间戳或版本号的列。当要更新这条记录时,数据库只是检查它的时间戳或版本号是否仍然保持不变。如果不是,在原始读取操作之后另一个进程显然已经修改了同一行,因此更新基于脏读并且必须被取消并且事务被回滚。
Dynamics CRM 2015 Update 1 通过 RowVersion 属性为实体引入了乐观并发,您可以阅读 MSDN。