首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
ASP.NET
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结帖去...
管理菜单
页面风格切换
标准风格
老版本论坛
asp.net能不能在客户端关闭后在后台继续将页面执行完毕?
[已结帖,结帖人:domustdohz]
加为好友
发送私信
在线聊天
domustdohz
迷茫
等级:
可用分等级:
中农
总技术分:
1942
总技术分排名:
11398
结帖率:
100.00%
发表于:
2007-02-02 14:09:33
楼主
asp.net能不能让页面在客户端关闭后继续在服务器后台执行,直到执行完毕?
如果能够这样实现,要怎么实现?
我知道PHP可以通过调用ignore_user_abort来实现这种功能。
问题点数:
50
回复次数:
17
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
唉,心不够狠毒,发不了横财
等级:
可用分等级:
富农
总技术分:
90582
总技术分排名:
67
发表于:
2007-02-02 14:21:34
1
楼 得分:
25
客户端显示页面的时候,后台早已经执行完了页面对象早已经不存在了。客户端关闭的时候根本不向服务器发送指令。
你的问题从何说起?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lxmfll2000
lxm
等级:
可用分等级:
富农
总技术分:
3960
总技术分排名:
5488
发表于:
2007-02-02 14:26:29
2
楼 得分:
0
????肯定不行。楼主为什么要这么作呢?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
flyin2006
败家子
等级:
可用分等级:
乞丐
总技术分:
9607
总技术分排名:
2133
发表于:
2007-02-02 14:58:27
3
楼 得分:
0
这种情况不存在
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
uno
钢盅郭子
等级:
可用分等级:
富农
总技术分:
7075
总技术分排名:
3027
发表于:
2007-02-02 15:22:52
4
楼 得分:
0
试试
Response.Flush();
Response.Close();
// ...其他代码
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
唉,心不够狠毒,发不了横财
等级:
可用分等级:
富农
总技术分:
90582
总技术分排名:
67
发表于:
2007-02-02 15:37:11
5
楼 得分:
0
如果正好在下载aspx过程中,可以使用 isClientConnected 来判断是否客户端在线。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cpp2017
慕白兄
等级:
可用分等级:
掌柜
总技术分:
192597
总技术分排名:
15
5
发表于:
2007-02-02 15:43:33
6
楼 得分:
15
客户端显示页面的时候,后台早已经执行完了页面对象早已经不存在了。客户端关闭的时候根本不向服务器发送指令。 ============= 同意。 楼主的意思可能是,页面还没有返回,处于等待状态的时候。 此时关闭页面,后台还是继续执行。 除非程序中用了if(!Response.IsClientConnected)来检测状态而用代码终止运行。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
domustdohz
迷茫
等级:
可用分等级:
中农
总技术分:
1942
总技术分排名:
11398
发表于:
2007-02-07 21:13:25
7
楼 得分:
0
楼主的意思可能是,页面还没有返回,处于等待状态的时候。
此时关闭页面,后台还是继续执行。
除非程序中用了if(!Response.IsClientConnected)来检测状态而用代码终止运行。
=====================================
我说的就是这种情况。
每个页面的执行时间很长譬如要5分钟,
客户端很可能等不了这么久,可能就直接把浏览器关闭了。
这时候,我希望页面能够在后台继续执行下去。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
domustdohz
迷茫
等级:
可用分等级:
中农
总技术分:
1942
总技术分排名:
11398
发表于:
2007-02-07 21:21:04
8
楼 得分:
0
还有碰到需要长时间执行的页面,有没有办法在客户端显示准确的进度信息?
我试着用ajax实现,不过碰到了比较奇怪的问题。
在ajax版问了好几天了也没有什么好的解决方法,甚至都不知道原因。
那个问题在这了
http://community.csdn.net/Expert/topic/5333/5333166.xml?temp=.1083338
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
LifeForCode
用生命编程.再生(2008)
等级:
可用分等级:
掌柜
总技术分:
2371
总技术分排名:
9465
发表于:
2007-02-07 21:38:45
9
楼 得分:
10
楼主的意思可能是,页面还没有返回,处于等待状态的时候。
此时关闭页面,后台还是继续执行。
除非程序中用了if(!Response.IsClientConnected)来检测状态而用代码终止运行。
=====================================
我说的就是这种情况。
每个页面的执行时间很长譬如要5分钟,
客户端很可能等不了这么久,可能就直接把浏览器关闭了。
这时候,我希望页面能够在后台继续执行下去。
----------------
从理论上说,客户端关闭了页面,是不可能中断伺服端的动作的。
自己测试一下吧;DeBug的时候,Run到断点,再关闭页面,继续Run,....你就知道答案了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
唉,心不够狠毒,发不了横财
等级:
可用分等级:
富农
总技术分:
90582
总技术分排名:
67
发表于:
2007-02-07 21:50:53
10
楼 得分:
0
我基本上认为客户端应该只考虑10秒钟忍耐期。你说要等5分钟,绝对是web程序设计上比较“浅”的结果。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
唉,心不够狠毒,发不了横财
等级:
可用分等级:
富农
总技术分:
90582
总技术分排名:
67
发表于:
2007-02-07 21:55:00
11
楼 得分:
0
isClientConnected 实际上需要输出一点东西,然后才知道客户端是否仍然在线。使用它的相关代码请参见:
http://www.google.com/search?q=asp.net+isclientconnected&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8
从这里可以大概感受到它的用场。要注意,必须输出东西才能知道客户端是否在线,如果服务器端根本不输出东西,isclientConnected 返回的结果永远是true。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ytzz
冲星中!多给分!谢谢!
等级:
可用分等级:
富农
总技术分:
3742
总技术分排名:
5832
发表于:
2007-02-07 22:07:37
12
楼 得分:
0
不可能吧~~
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lnwuyaowei
风可以追我
等级:
可用分等级:
富农
总技术分:
13751
总技术分排名:
1241
发表于:
2007-02-07 22:23:41
13
楼 得分:
0
http://www.aspxboy.com/private/5331/default.aspx
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
唉,心不够狠毒,发不了横财
等级:
可用分等级:
富农
总技术分:
90582
总技术分排名:
67
发表于:
2007-02-07 23:36:19
14
楼 得分:
0
不要由调试器的行为类比为正式运行。实际上,正式运行的网页通常并不知道客户端关闭了,而且大部分时间并不输出或者即使输出也是写到缓冲,因此“页面本来就是继续执行完毕”的,不会立刻断开。使用isClientConnected 的目的正是为了让它不要白白浪费服务器时间。
楼主的问题恰好问反了。
异步页面与这个问题没有什么。异步页面是为了绕开asp.net缓冲池容量太小这个“BUG”,但并不会让5分钟的页面下载加快几秒钟。这就像是有的人发明了在高速公路上可以随意飙车的技术,个别人偶尔用一下可以,但是如果不是偶尔才用一下的,那么缓冲池容量在asp.net下一版本就会增加或者变成可设置的。因此异步页面技术最好把它当作特权阶级才应该使用的技术,如果用多了就会反而降低系统的表现。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
domustdohz
迷茫
等级:
可用分等级:
中农
总技术分:
1942
总技术分排名:
11398
发表于:
2007-02-08 10:10:56
15
楼 得分:
0
我基本上认为客户端应该只考虑10秒钟忍耐期。你说要等5分钟,绝对是web程序设计上比较“浅”的结果。
=======================================
呵呵,其实5分钟只是代表一个比较长的时间。
譬如,我现在有一个页面负责用JMail从邮箱收取信件,向新浪的邮箱是比较慢的
邮件多的话收取过程是很慢的。
所以我希望他能在后台运行,然后将进度信息保存在内存或文件中,
然后由其他页面用ajax的异步调用,显示状态信息。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ghj1976
蝈蝈俊.net
等级:
可用分等级:
大地主
总技术分:
8802
总技术分排名:
2369
6
发表于:
2008-07-23 15:55:26
16
楼 得分:
0
这个功能参看我这篇博客
http://blog.joycode.com/ghj/archive/2008/07/23/115199.aspx
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
WEBCONFIG
等级:
可用分等级:
中农
总技术分:
95
总技术分排名:
98013
发表于:
2008-09-08 09:54:01
17
楼 得分:
0
引用 16 楼 ghj1976 的回复:
这个功能参看我这篇博客
http://blog.joycode.com/ghj/archive/2008/07/23/115199.aspx
怎样在客户端中断服务器的执行?
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结帖去...
管理菜单
页面风格切换
标准风格
老版本论坛
abc推荐给好友