当前位置:编程学习 > C#/ASP.NET >>

如何处理一个页面打开另外一个人进不了?

比如A、B两个编辑,A打开这个页面进行编辑,B编辑点了该链接进不去。
请问怎么实现呢。。。
数据库记录的话,页面关闭怎么修改数据库的字段呢?? --------------------编程问答-------------------- 求指点啊啊顶顶顶顶顶 --------------------编程问答-------------------- 除非是CS程序,否则不要这么做,浏览器会话容易丢失,判断页面是否还在编辑会不准确,最坏的情况下,A离开了编辑界面却没发出通知,B还是进不去,A再次进入还是打不开,提示A还在编辑。 --------------------编程问答--------------------
引用 2 楼 qldsrx 的回复:
除非是CS程序,否则不要这么做,浏览器会话容易丢失,判断页面是否还在编辑会不准确,最坏的情况下,A离开了编辑界面却没发出通知,B还是进不去,A再次进入还是打不开,提示A还在编辑。

那有没有其他方法呢?郁闷啊。。 --------------------编程问答-------------------- 打开A时做个标识,B根据标识来判断能否进行编辑。说白了,不管A还是B,都在打开时先判断标识,有则另一个不能,无则可以,在编辑完离开后,再修改标识。 --------------------编程问答-------------------- 貌似这个问题没有好的处理思路,坐等高人解决 --------------------编程问答--------------------
引用 4 楼 config_man 的回复:
打开A时做个标识,B根据标识来判断能否进行编辑。说白了,不管A还是B,都在打开时先判断标识,有则另一个不能,无则可以,在编辑完离开后,再修改标识。

是啊 是做个标识,那请问离开后怎么修改该标识呢? --------------------编程问答-------------------- 这个和后台登陆思路有什么区别吗?

假设页面为content.aspx

你进入前不是要判断session吗?
拿到用户信息,标识当前的页面状态,如果正在编辑

任何其它用户都直接return掉或者显示当前信息正在编辑

编辑完,提交,就可以让其它人查看了。 --------------------编程问答-------------------- 1. 退出按钮: 释放
2. 关闭窗口:
$(window).bind('beforeunload', function () {
            //释放
        });

3. 关机,死机:真不知道了。 --------------------编程问答-------------------- 1.静态 标识 状态
2.lock 修改标识 
3.最大失效时间 ,以免客户端掉线 ,锁死修改
4.客户端 周期回传 在线&在编辑 (周期 小于 失效时间)状态
5.客户端 业务流程 正常提交退出编辑独占状态  --------------------编程问答--------------------
引用 9 楼 year365 的回复:
1.静态 标识 状态
2.lock 修改标识 
3.最大失效时间 ,以免客户端掉线 ,锁死修改
4.客户端 周期回传 在线&在编辑 (周期 小于 失效时间)状态
5.客户端 业务流程 正常提交退出编辑独占状态

这样比较科学有效 --------------------编程问答--------------------
引用 6 楼 b249950714 的回复:
引用 4 楼 config_man 的回复:
打开A时做个标识,B根据标识来判断能否进行编辑。说白了,不管A还是B,都在打开时先判断标识,有则另一个不能,无则可以,在编辑完离开后,再修改标识。
是啊 是做个标识,那请问离开后怎么修改该标识呢?

给个例子行么 --------------------编程问答--------------------
引用 11 楼 b249950714 的回复:
引用 6 楼 b249950714 的回复:引用 4 楼 config_man 的回复:
打开A时做个标识,B根据标识来判断能否进行编辑。说白了,不管A还是B,都在打开时先判断标识,有则另一个不能,无则可以,在编辑完离开后,再修改标识。
是啊 是做个标识,那请问离开后怎么修改该标识呢?
给个例子行么

你的是c/s程序不? --------------------编程问答--------------------
引用 12 楼 config_man 的回复:
引用 11 楼 b249950714 的回复:
引用 6 楼 b249950714 的回复:引用 4 楼 config_man 的回复:
打开A时做个标识,B根据标识来判断能否进行编辑。说白了,不管A还是B,都在打开时先判断标识,有则另一个不能,无则可以,在编辑完离开后,再修改标识。
是啊 是做个标识,那请问离开后怎么修改该标识呢?
给个例子行么
你的是c/s程序不?
B/S啊 啊啊啊 --------------------编程问答-------------------- 求高手指导啊啊啊啊啊啊啊 --------------------编程问答-------------------- 正在编辑时定时每t秒发心跳信号回s端,s端收到后记录最后一次的时间
进入编辑时,s端检查最后一次收到心跳距现在的时间,如果超过t了就可以进行编辑,没有拒绝编辑给出提示。

配套的两个功能:让用户设置心跳发送间隔(越长死机时等待时间越长,越短越消耗系统资源),和手工解锁
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,