`
妮子321
  • 浏览: 84486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

卓正PageOffice文件并发控制

阅读更多

1.功能介绍

PageOffice的并发控制功能用来解决多个用户在线编辑同一篇文档可能造成的互相覆盖修改结果的技术难题。

B/S架构下用户访问都是并发的,也就是说经常会出现同时N个用户对一个服务器页面发出请求,这就有可能同一个文档被多个用户同时打开进行编辑。为什么会出现互相覆盖呢?举个简单例子,例如A用户先访问页面打开了一个文档开始编辑,这时B用户访问相同的页面打开了同一个文档也开始编辑,B用户可能很快就完成了文档修改工作并且保存到服务器。随后A用户也完成了工作并保存文档到服务器。这时,服务器上的这个文档已经变成了A用户修改的最后结果,B用户的修改被A的保存操作覆盖从而消失了。

PageOffice的并发控制能够保证同一时间同一篇文档只能由一个人打开,而这样复杂的控制只需要开发者简单对TimeSlice属性赋值即可实现。无论打开的文档是存放在数据库还是存在物理磁盘里,只要对此文档设置了并发控制,那么实现的效果都是只有当前用户可以对此文档进行编辑、保存等操作,其他用户只能以只读的形式打开。在并发控制期间,其他用户有三个选择,分别是“终止”、“重试”和“忽略”。选择“终止”,则关闭当前提示对话框,对此文档不进行任何操作;选择“重试”,则可以了解当前操作用户的编辑时间是否已经用完,同时可以看到当前操作用户的剩余编辑时间;选择“忽略”,则以只读方式打开此文档,即只能阅读此文档,不能对此文档进行编辑、修改、保存等操作。

2. 如何实现并发控制

在WebOpen之前设置属性TimeSlice。例如设置PageOfficeCtrl1.TimeSlice = 4;那么登录用户对这个文档的编辑时间即为4分钟。用户必须在编辑时间结束之前,进行编辑、保存等操作,在编辑时间结束之后,用户已经编辑的未保存的内容将无法保存。
PageOfficeCtrl1.TimeSlice = 4;//对当前文档开启并发控制
TimeSlice只对当前WebOpen打开的文档有效,如果不赋值,就不进行并发控制。默认值是0,表示不进行并发控制。

注意:

  1. 这里所说的同一份文档,以WebOpen的第一个参数为判断标准。如果两次WebOpen的第一个参数完全相同则视为同一个文档,如果不同则视为不同文档。
  2. 如果两次WebOpen的第一个参数完全相同,第三个参数(用户名)也完全相同,则视为用户修改编辑文档的同时参考原来的文件,属于特殊需要,这时并发控制不起作用。

WebOpen直接打开文档或打开动态页面输出的文档,都可以实现并发控制:
(1)直接打开文档,WebOpen的第一个参数是office文件名结尾。
例如用户a的打开文档的操作如下:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("doc/abc.doc", PageOffice.OpenModeType. docAdmin, "a");

用户b的打开文档的操作如下:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("doc/abc.doc", PageOffice.OpenModeType. docAdmin, "b");

那么如果对doc/abc.doc这个文档设置了并发控制的话,当a打开此文档后,b只能以只读方式打开此文档,直到a的控制时间结束后,b才可以对此文档进行编辑。
(2)通过动态页面打开文档,WebOpen的第一个参数是一个动态页面的地址,还带有参数值。
例如用户a的打开文档的操作如下:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("a.aspx?id=1", PageOffice.OpenModeType. docAdmin, "a");

用户b的打开文档的操作如下:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("a.aspx?id=1", PageOffice.OpenModeType. docAdmin, "b");

那么如果对这个a.aspx?id=1地址下载的文档设置了并发控制的话,当a打开此文档后,b只能以只读方式打开此文档,直到a的控制时间结束后,b才可以对此文档进行编辑。

3.什么情况下,并发控制不起作用了?

同一个office文件,有两个不同的url地址都可以下载这个文件,当两个用户使用不同的地址打开同一个office文件的时候,并发控制就不起作用了。
(1)例如都是两个不同的动态页面地址都可以下载同一个文件:地址a.aspx?id=1和地址b.aspx?id=1下载的是服务器端同一个文档,用户a的打开文档的代码是:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("a.aspx?id=1", PageOffice.OpenModeType.docAdmin, "a");

用户b的打开文档的代码是:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("b.aspx?id=1", PageOffice.OpenModeType. docAdmin, "b");

这样虽然“a.aspx?id=1”和“b.aspx?id=1”打开的是同一个文档,但是因为WebOpen的第一个参数值不同,对于PageOffice来说打开文档的URL也不同,PageOffice认为是两个不同的文件,这种情况并发控制就不起作用了。
(2)例如一个用动态页面地址和一个用文档名结尾的URL地址:访问“a.aspx?id=1”下载的文件就是doc/abc.doc,用户a的打开文档的代码是:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("a.aspx?id=1", PageOffice.OpenModeType. docAdmin, "a");

用户b的打开文档的代码是:

PageOfficeCtrl1.TimeSlice = 4;
PageOfficeCtrl1.WebOpen("doc/abc.doc", PageOffice.OpenModeType. docAdmin, "b",);

还是因为WebOpen的第一个参数值不同,虽然打开的是同一个文档,但是因为PageOffice认为两个文档的URL不一样,所以并发控制也不起作用。

注:此功能不支持PHP开发或集群方式部署。

分享到:
评论

相关推荐

    pageOffice4.4.0.4

    PageOffice是目前最为稳定的Word打印插件,运用简单方便

    PageOffice_4.3.0.3_PHP (1).zip

    让用户远离上传下载的烦恼,开创局域网在线Office办公的新时代, 卓正软件三年时间倾力打造,PageOffice 4震撼来袭,全新王者之作,无论是普通的在线编辑Word/Excel/PPT,还是复杂的编程控制、读写Word/Excel, ...

    PageOffice 基础教程.pdf

    PageOffice是北京卓正志远软件公司自主研发的具有自主知识产权的软件产品,它是一个通用组件库,专门用于提供在线编辑Office文档、动态填充和动态提交等功能。PageOffice V4.0作为该产品的一个版本,其基础教程详细...

    PageOffice产品简介1

    PageOffice 是北京卓正志远软件公司自主研发的一款具有自主知识产权的软件产品,旨在提供在线编辑 Office 文档、动态填充、动态提交功能的通用组件库。该产品能够帮助 Web 开发人员轻松实现在网页中嵌入微软 Office ...

    GPS在卓正露天煤矿边坡变形监测中的应用

    为了保证准格尔旗卓正露天煤矿在技改过程中的边坡安全,依据GPS全球定位系统作业规范和相关行业标准,结合卓正煤矿实际情况,利用GPS对卓正露天煤矿排土场边坡进行了变形监测。包括基准点和监测点的确定、监测方法、...

    后端技术 电子合同+电子签章

    此次开源的系统模拟演示了文件在OA系统中的流转,主要为办公系统跨平台在线处理Office文档提供了完美的解决方案。Word文档在线处理的核心环节,包括:起草文档、领导审批、核稿、领导盖章、正式发文。PageOffice产品...

    asp .net 实现word文档在线预览

    在ASP.NET中实现Word文档的在线预览是一项常见需求,尤其在需要用户查看但不需要下载原始文件的场景下。在给定的标题和描述中,提到的技术方案是通过Office-Tools、WF(可能是Windows Forms)以及FlexPaper来实现这...

    北京知名房地产策划顾问及营销专家卓正伟业活动策划案.pptx

    由北京知名房地产策划顾问及营销专家卓正伟业提出的活动策划案,突显了活动营销对于促进销售、口碑建设、品牌形象塑造以及产品特性的展示等方面的关键作用。 1. **促进商品房销售**:房地产活动营销能够有效吸引...

    GPS在卓正露天煤矿边坡变形监测中的应用.pdf

    标题和描述中提到的是“GPS在卓正露天煤矿边坡变形监测中的应用”,这涉及到的是一个具体的应用案例,即如何使用全球定位系统(GPS)来监测露天煤矿边坡的安全状况,确保在技术改造过程中的稳定性和人员设备的安全。...

    电子签章简易平台使用说明

    本文档旨在指导用户使用电子签章简易平台,涵盖了平台的登录、修改签章服务器地址、修改电子签章密码、电子签章在 Word 文件中的使用等方面的操作指南。 一、登录平台 电子签章简易平台提供了多种语言的示例代码,...

    蛇口网谷调研报告1011.docx

    蛇口网谷调研报告1011全文共4页,当前为第1页。蛇口网谷调研报告1011全文共4页,当前为第1页。... 已入驻企业 医药类企业——深圳市普博科技有限公司、深圳市尤迈医疗用品有限公司、深圳卓正医疗投资咨询有限公司

Global site tag (gtag.js) - Google Analytics