在ASP类中处理End Request事件

时间:2009-07-31 21:21:58

标签: iis asp-classic

在ASP.NET中,global.asax中有Application_EndRequest事件。然而,在经典ASP中,global.asa

中没有这样的等价事件

是否有任何其他内置方式来处理结束请求事件,或以某种方式挂钩到IIS以完成同样的事情?

3 个答案:

答案 0 :(得分:5)

我们使用特别扭曲的技术在请求完成后执行代码。请考虑以下代码段:

Class EndRequestHandler
    Sub Class_Terminate()
        '' Handler code goes here
    End Sub
End Class

Set EndRequestHandlerInstance = New EndRequestHandler

当请求结束时,ASP会卸载所有全局变量,包括EndRequestHandlerInstance,它会调用它的Class_Terminate方法。如果将其放入网站上每个页面使用的包含文件中,它应该作为您的全局结束请求处理程序。

答案 1 :(得分:1)

在IIS6及更早版本(或IIS7经典管道应用程序池中)中,您真的需要ISAPI过滤器的帮助才能实现与全局End Request操作相同的操作。

在IIS7集成管道中,即使执行的页面是经典ASP,也可以使用.NET End Request代码。

答案 2 :(得分:0)

不是多管闲事,但你想做什么呢?您可能会有不同的解决方案(例如在每个页面的页脚上渲染调试好东西)或根本没有解决方案(例如我希望我可以获取响应缓冲区的内容并在使用之前搞乱它出线)