永发信息网

asp中如何强制断开客户端与服务器的连接

答案:2  悬赏:50  手机版
解决时间 2021-11-25 07:20
  • 提问者网友:伴风望海
  • 2021-11-25 03:44
asp中如何强制断开客户端与服务器的连接
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-11-25 04:19
大概还没明白isclientconnected 的意思 他是只读的 而且用法也不是这么写的
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
下面是摘抄的一段
在进入长时运算之前使用Resonse.IsClientConnected
如果用户感到不耐烦,他们可能在ASP页面计算他们的请求之前离开这个页面。如果他们点击刷新或是跳到服务器上的另一个页面,新的请求将位于ASP请求队列尾部,而中断的请求却在请求队列的中部;通常服务器在高负载情况下可能发生这种情况(服务器有很长的请求队列,同时请求次数也很多);而这种情况又使服务器的负载情况变得更加恶劣。如果用户已经断掉连接,没有必要再执行这个ASP页面(尤其当这是一个很慢、很耗资源的页面时);Response.IsClientConnected属性能检查出这种情
况;如果属性返回False,就应该调用Resonse.End来结束剩余的页面。事实上,
IIS 5.0使这种检查规律划--无论什么时候ASP准备执行一个新的请求,他先检查请求队列有多长;如果队列已经超过3秒钟,ASP就会检查客户端是否连接;如果客户端已经断开,ASP立即终止这个请求。可以使用AspQueueConnectionTestTime设置来调整3秒的超时。

如果有一个非常耗时的页面要执行,也可以在页面中检查
Response.IsClientConnected。当响应缓冲打开时,在页面运行中使用
Response.Flush也能给用户操作正在执行的感觉。

注意:在IIS 4.0上,除非你先执行了Response.Write,否则
Response.IsClientConnected的结果有可能不正确;如果响应缓冲已经打开,还必须先执行Response.Flush。在IIS 5.0上,就没有这个必要了,
Response.IsClientConnected工作得很正常。无论任何情况,
Response.IsClientConnected总要消耗一些时间,因此,只应该在执行耗时至少超过500ms的页面中执行。首要原则是,不要在一个紧密的循环中反复调用这个属性。

直接设置10秒自动关闭不就得了
全部回答
  • 1楼网友:话散在刀尖上
  • 2021-11-25 05:42
当ASP页面的代码执行完毕, 也就意味着服务器和客户端已断开连接, 你所说的这种需求个人觉得对于网页这种方式, 是不合理的, 应该尽可能的节省服务器资源.呵呵..
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯