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