事务边界
由于您(而不是系统)负责启动、结束或中止事务,因此了解事务边界非常重要。事务边界是事务开始和结束或中止之间的时间。建议将边界限制在尽可能小的范围内。例如,如果在函数中启动事务,请尝试在从该函数返回之前结束或中止该事务,因为您可能不了解函数之外的事务。如果您为事务活动维护某种全局管理器,则无需遵循此规则,但您仍然负责中止或结束您启动的所有事务。 多个应用程序可以使用事务管理来完成其工作,并且对对象的操作在最外层事务结束时提交。因此,AutoCAD 命令边界是您可以延伸事务边界的范围。当命令结束时,不应有任何活动事务。如果命令结束时存在任何活动事务(事务堆栈不为空),AutoCAD 将中止。 ® 例外情况下,当透明命令结束时,事务仍可能处于活动状态,但当主命令结束且 AutoCAD 返回到命令提示符时,事务应全部解析。acedCommandS()/acedCommandC() 通常,最好在某个函数作为您注册的命令的一部分调用时启动事务,并在从该函数返回时结束该事务。您可以使用 和 通知将其推广到 AutoCAD 中的所有命令,但某些命令不应执行。不应事务处理以下命令:AcEditorReactor::commandWillStart()AcEditorReactor::commandEnded()
父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-5 18:02
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.