http都是无状态连接,应该是一旦页面生成并发送回客户端连接就断开了吧?
那怎么还能(用)判读客户端是否连接在服务器上呢?
是指会话状态么?像session一样20分钟失效?

解决方案 »

  1.   

    引用回复:
    HttpResponse.IsClientConnected,获取一个值,通过该值指示客户端是否仍连接在服务器上。(比如用户点击一个操作可能要消耗服务端3秒的时间,但是用户等不了这么久,就停止了网页或者直接跳到别的网页去了,这时这个属性的值将是false但是若不进行任何操作的话,长达3秒的操作仍将继续。)但是调用这个属性可能会消耗更多的资源,你必须自己权衡是否使用它。
      

  2.   

    好像懂了,但是我无法中断(停止网页),点ie上的停止按钮么?
    我设计了这样一段代码,但还是达不到我想象的效果,如下:    protected void Page_PreRender(object sender, EventArgs e)
        {
            
            for (int i = 0; i < 100000; i++)
            {
                i++;
                Response.Write("i="+i+"  ");
            }        if (Response.IsClientConnected)
                Response.Write("success");
            else
                Response.End();
        }
    结果要么是显示“success”,要么就是无法连接的错误提示页面。总结一下吧,我不知道怎样操作才会使得Response.IsClientConnected=false!
      

  3.   

    总结一下吧,我不知道怎样操作才会使得Response.IsClientConnected=false IsClientConnected属性是用来进行检测的,怎么能有来设置呢!!!我不清楚楼主要是想做什么,但是,我给楼下说一下,比如一个页面有10000个图片。在客户端请求这个页面时,是每个图片都做为一个请求。当把本页面所有的图片及其他内容都请求并传输完,这个连接(注意是连接)才关闭,也就是说,一个连接可以进行多个请求。
    当在传输第5000个图片时,也许你的服务器端在运行代码。Response.IsClientConnected便有用了,如果Response.IsClientConnected=false,代表,这个链接已经断了。
    愚钝之见,仅供参考!
      

  4.   

    你如果要试试断开链接的效果,可以参看我这篇博客http://blog.joycode.com/ghj/archive/2008/07/23/115199.aspx