代码之家  ›  专栏  ›  技术社区  ›  G Berdal

响应。在经典ASP中刷新事件?

  •  0
  • G Berdal  · 技术社区  · 17 年前

    我需要重写网页上由一个DLL服务的域名,我无法更改。 我想,如果在响应之前发生on flush之类的事件,那么在页面显示之前,flush就会发生在页面上。有没有在ASP中这样做的方法?

    谢谢你的帮助。

    P.S.:类似于脚本“onflush”的Apache扩展名: http://www.apache-asp.org/events.html


    根据尼克的建议,我创建了一个继承自stream类的类。 response.filter正在使用此类处理HTML内容…

    通过重写write方法,我成功地重写了站点上的域名。

        public override void Write(byte[] buffer, int offset, int count) 
        {
         byte [ ] data = new byte [ count ];
        Buffer.BlockCopy ( buffer, offset, data, 0, count );
    
        string myHTML = ASCIIEncoding.ASCII.GetString(data);
        string convertedHTML = myHTML.Replace("http://www.previousdomain.com", "http://www.currentdomain.com");
    
        data = ASCIIEncoding.ASCII.GetBytes(convertedHTML);
    
         _sink.Write ( data, 0, count );
    
        }
    

    谢谢尼克!

    1 回复  |  直到 17 年前
        1
  •  1
  •   Nick Berardi    17 年前

    是的,你可以超载 esponse.Filter 属性,用作返回到浏览器的所有内容的筛选器。你应该在 PostReleaseRequestState 在 Global.asax .

    推荐文章