今天作一个最简单的Ajax访问服务器获得返回信息的小例子(现在才作,似乎好晚啦,哈哈)。按照google来的例子很顺利的作成了,但我觉得很奇怪,就是第一次xmlhttp请求响应很慢,我找了找,发现是Response.End造成的。一般大家都是这么写的
对Response.End的疑问Response.Write("Server Message !" );
对Response.End的疑问Response.End();
如果不加Response.End,用responseText得到的信息就不仅是我们写的了,整个页面的html代码都在里头,处理起来更麻烦。可是我在去掉 Response.End后发现,虽然传回去的数据很多,但第一次响应的速度反而更快。

按照我一直以来的理解,调用Response.End的话,页面在回发时应该少做了不少工作,速度会比不调用快,但现在看来显然不是。我看了下帮助,试了几个办法,发现这样写第一次请求就不会慢了。
对Response.End的疑问Response.Write("Server Message !");
对Response.End的疑问Response.Flush();
对Response.End的疑问Response.Close();

帮助对Response.Close的解释是关闭到客户端的连接。对Response.End的解释是停止该页的执行,并引发Application_EndRequest,而对Application_EndRequest的说明就不怎么详细了,帮助里就找到了这么一句:Application_EndRequest事件使您可以有机会关闭或处置用于该请求的资源。

还是不明白,于是我想看看Response.End里面到底做什么了
对Response.End的疑问                if (this._context.IsInCancellablePeriod)
                }
结果看了更晕了……

虽然我似乎找到了解决问题的办法,但我对这个办法心里没底,就这么直接断开客户端的连接会不会引起其他的问题呢?

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-01
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-26
  • 2021-12-11
  • 2022-01-03
  • 2021-11-21
  • 2022-02-26
  • 2021-06-19
相关资源
相似解决方案