zoukankan      html  css  js  c++  java
  • Response.Flush的使用心得

      (1)Flush的内容至少要有256字节
      很多时候我们写的asp程序会因为做很多操作,所以会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。或者最起码要显示一个类似: “数据载入中”,“正在保存数据” 等的说明性文字。此时我们就会用到Response.flush()。他会将缓冲区中编译完成的数据先发送到客户端。
      但是有很多时候,我们发现即使我们使用了Response.Flush(),但是并没有将前面的信息发到客户端来显示。呈献给我们的依然是白屏。经过反复的测试,我得出一个结论(仅代表个人观点,可随意引用,但后果自负)。就是flush的内容至少要有256字节。也就是只有编译产生了至少256字节的数据,才能在执行Response.Flush()以后将信息发到客户端并显示。
      以上内容来自http://www.webjx.com/htmldata/2005-10-10/1128898276.html,经本人测试是正确的。以下给出一个示例代码:
    <html>
    <body>
    <%
      Call TestFlush ''Flush测试
    %>
    </body>
    </html>

    <%
      ''=================================================
      Sub DoSomeThing    ''模拟一个后台操作
          For i=1 To 10000000
                None = i
          Next
      End Sub
      ''=================================================
      Function LongSpaceStr()  ''制造一个长空字符串
        LongSpaceStr = ""
          For i=1 To 256
                LongSpaceStr = LongSpaceStr& " "
          Next
      End Function
      ''=================================================
      Sub TestFlush ''Flush测试
          '用LongSpaceStr加长输出内容,以使Flush生效
          Response.Write(LongSpaceStr&"正在执行操作,请等待..."&Now())
          Response.Flush()

          Call DoSomeThing
           
          Response.Write("<br>操作成功完成!"&Now())
          Response.Flush() 
      End Sub
      ''=================================================
    %>
      (2)Response.Flush()调用之前不能出现未闭合的HTML标签(<html> ,<body>除外)
       比如,以下代码经测试是不行的:  
    <html>
    <body>
    <table ID="MyTable"><tr><td>
    <%
      Call TestFlush ''Flush测试
    %>
    </td></tr></table>
    </body>
    </html>
    <%
    ''......略去与上例中同样的代码......
    %>

      以下代码经测试是可行的: 
    <html>
    <body>
    <table ID="MyTable"><tr><td></td></tr></table>
    <%
      Call TestFlush ''Flush测试
    %>
    </body>
    </html>
    <%
    ''......略去与上例中同样的代码......
    %>
      以下代码经测试也是可行的: 
    <html>
    <body>
    <%
      Call TestFlush ''Flush测试
    %>
    <table ID="MyTable"><tr><td></td></tr></table>
    </body>
    </html>
    <%
    ''......略去与上例中同样的代码......
    %>

  • 相关阅读:
    173. Binary Search Tree Iterator
    199. Binary Tree Right Side View
    230. Kth Smallest Element in a BST
    236. Lowest Common Ancestor of a Binary Tree
    337. House Robber III
    449. Serialize and Deserialize BST
    508. Most Frequent Subtree Sum
    513. Find Bottom Left Tree Value
    129. Sum Root to Leaf Numbers
    652. Find Duplicate Subtrees
  • 原文地址:https://www.cnblogs.com/xiangxiangyuan/p/1322849.html
Copyright © 2011-2022 走看看