测试文档锁:doc.LockDocument()

/// <summary>
        /// 总结:用到DocumentManager.Open(filePath)时,如果是ForWrite,就需要用到lock文档锁。
        /// </summary>
        [CommandMethod("T38")]  //测试文档锁
        public void T38()
        {
            //Document doc = Application.DocumentManager.MdiActiveDocument;  //如果是MdiActiveDocument,不需要锁LockDocument。
            Document doc = MyTool.MyTools.OpenDwgFile(@"E:\res\autocad\test.dwg");
            Database db = doc.Database;
            //Database db = new Database();
            //db.ReadDwgFile(@"E:\res\autocad\test.dwg", FileShare.Read, true, null);  //这种方式打开db,不要要锁。
            using(doc.LockDocument())   //这里不锁的话,ForWrite模式打开就会报错,但ForRead模式不报错。但如果是MdiActiveDocument,也不需要锁。
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                BlockTable bt = db.BlockTableId.GetObject(OpenMode.ForRead) as BlockTable;
                BlockTableRecord modelSpace = bt[BlockTableRecord.ModelSpace].GetObject(OpenMode.ForWrite) as BlockTableRecord;
                /*
                ObjectId bRefId = ObjectId.Null;
                foreach (ObjectId id in modelSpace)
                {
                    if (id.GetObject(OpenMode.ForRead) is BlockReference)
                    {
                        bRefId = id;
                    }
                    break;
                }
                BlockReference bRef = bRefId.GetObject(OpenMode.ForWrite) as BlockReference;
                bRef.DowngradeOpen();
                 * */
            }
        }

个人总结,貌似有误,有待继续学习。,。。

时间: 2024-08-07 06:52:03

测试文档锁:doc.LockDocument()的相关文章

测试文档和用户说明书

最近把项目编写的差不多了,然后组长让我写测试文档和用户说明书,说明书给了一个以前他们写过的,然后就想着先把用户说明书写完,过程还好,但是在我写测试文档的时候发现自己真是一波三折. 说明文档的时候,大概有4个窗体,然后呢,我就是先把窗体界面截出来,然后就会在文档上写1-->2-->3-->4,第一步,单击某个按钮,弹出某个窗口,然后选择数据.... 很快,用户说明书写完了,感觉好简单,但是测试文档以前没有好好的写过,所以这次写的时候我还特意要了一个别人写过的文档,但是我对人家的项目也也没什

Hello World!这是一篇测试文档

这是用Windows Live Writer写的一篇测试文档仅供测试

五种方式来消除你对测试文档的仇视

据我所知,测试人员还没有一个专门的吐槽论坛.但是如果有的话,我相信我们中的很多人会承认对撰写测试文件有多么厌恶. 我工作的一部分是不断叨扰别人去写测试文件.我要他们去写文档模板,去查看团队写出的大量测试文档.我可以告诉你,想要在测试过程中发现一个有趣的bug让你的测试工作充满乐趣这只存在于想象中. 更糟糕的是,由于我是一个公司做测试文件的头儿,那么我就必须时刻标榜自己,成为别人的榜样,才能下属心甘情愿为我做事.即使我真的不喜欢,我也不能直接忽视我所负责要做的测试文件. 然而,即使测试并不是一份最

ASP.NET WebAPI使用Swagger生成测试文档

ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目本身仅仅也只依赖一些html,css,js静态文件.你可以几乎放在任何Web容器上使用 捣鼓了好久最终效果如下 1.API控制器和action描述 2.测试接口 使用swagger 1.创建webapi项目解决方案 2.引用swagger nuget包 swashbuckle和swagger.NET

测试人员必掌握的测试文档

软件测试文档一般是提供测试信息的一组文档,可以是测试人员的工具,也可以是项目开发团队的开发辅助工具. 一般情况下,与项目相关的测试文档主要有以下几个 ~ 1.测试计划.(详情可参考一份标准的测试计划包含哪些要素文章)测试计划由测试小组编写完成后,需同项目中相关人员进行评审,以确保当前的计划与项目进度等方面是一致的. 2.测试策略.一般情况下,较大型的项目会有附加的测试策略文档 ,即详情测试设计.与开发小组中的概要设计文档类似.测试策略文档编写完成后也需要由相关项目经理.开发人员进行评审 .了解测

逆转海绵组测试文档

1.引言 本部分介绍测试基本情况和要求,包括编写目的.项目背景和术语等. 1.1 编写目的 为软件测试建立计划,供软件测试人员作为软件测试实施时的参考. 1.2 项目背景 <海绵宝宝>是一部1999年发行的美国喜剧动画,可以说是一部和我们同龄,陪伴我们成长的一部动画,它的内容搞笑,轻松解压.<逆转裁判>CAPCOM公司制作的法庭辩论型AVG游戏,在游戏中玩家扮演辩护律师,在假象规则的序审法庭上与检察官进行辩论,通过追问和质疑嫌疑人和证人,为委托人获得无罪判决是最终的胜利目的. 2

Swagger-UI 基于REST的API测试/文档类插件

现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景.例如我目前的工作,移动端交由了另一团队开发,不同开发小组之间就需要以规范和文档作为标准和协作基础.良好的文档可以让开发事半功倍,而作为又懒又要效率又能交代的码农,当然最希望一切自动化,或用小聪明来找到最适合的工具. Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具.项目的设计架构中一直提倡使用TDD(测试驱

使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)

对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你创建良好的文档和帮助页面. Swashbuckle 可以通过修改 Startup.cs 作为一组 NuGet 包方便的加入项目.Swashbuckle 是一个开源项目,为使用 ASP.NET Core MVC 构建的 Web APIs 生成 Swagger 文档.Swagger 是一个机器可读的 R

软件测试使用测试文档

仅仅尽最大的努力是不够的.你必须知道要做什么,然后再尽最大的努力.  ——爱德华 戴明 没有记录就不能断定什么时间确实发生过. ——弗吉尼亚 伍尔夫 这部分,我们将把软件测试的知识联系起来,说明和软件测试有关的所有工作是如何计划.如何组织以及如何和项目小组之间进行交流的. 软件测试计划是软件测试员与产品开发小组交流意图的主要方式.IEEE关于软件测试文档的标准以如下方式表达软件测试计划的目的: 规定测试活动的范围.方法.资源和进度:明确正在测试的项目.要测试的特性.要执行的测试任务.每个任务的负