经典ASP如何融入ASP.NET生命周期的集成模式?

问题描述:

我有一个包含ASP.NET和传统ASP页面的网站。另外,它有一些附加到BeginRequest,PreSendHeaders和EndRequest事件的.NET模块。这些模块操纵网站的cookies--所有这些,而不仅仅是ASP.NET cookie。据我了解,在集成管道模式下,所有HTTP请求都会经历事件生命周期,包括传统的ASP页面。该模块的目的是设置Path,HttpOnly和传统ASP运行时不支持的其他cookie属性。经典ASP如何融入ASP.NET生命周期的集成模式?

经典ASP渲染如何融入生命周期?它是否像通用处理程序一样工作?

具体而言,当传统的ASP呈现ASP会话cookie的标头(ASPSESSIONID,而不是ASP.NET_SessionId)时,是在EndRequest之前还是之后?我并不总是看到事件触发,有时传统的ASP会话cookie不会被我的模块处理。

是的,传统的ASP是通过一个通用的处理程序来呈现的,并且该Cookie应该可以在Http模块中访问;我也必须这样做。

经典ASP可以设置路径和http仅属性,如果你使用的AddHeader方法和快捷cookie的内容:

Response.AddHeader "Set-Cookie", "Name=value; path=/PathName; HttpOnly"