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

3
我有一个网站,里面包含了ASP.NET和经典的ASP页面。此外,它还有一些.NET模块,这些模块会附加到BeginRequest、PreSendHeaders和EndRequest事件。这些模块操作着网站的cookies——所有的cookies,而不仅仅是ASP.NET的cookies。据我所知,在集成管道模式下,所有的HTTP请求都会经过事件生命周期,包括经典的ASP页面。该模块的目的是设置Path、HttpOnly和其他经典的ASP运行时不支持的cookie属性。
经典的ASP渲染如何适应生命周期?它是否像通用处理程序一样工作?
具体来说,当经典的ASP为ASP会话cookie(ASPSESSIONID而非ASP.NET_SessionId)呈现标头时,它是在EndRequest之前还是之后?我并不总是看到事件触发,并且有时经典的ASP会话cookie没有被我的模块处理。
1个回答

1
是的,经典ASP是通过通用处理程序呈现的,cookie应该可以在Http模块中访问;我也不得不处理这个问题。
如果使用AddHeader方法并快捷设置cookie内容,经典ASP可以设置路径和http only属性:
Response.AddHeader "Set-Cookie", "Name=value; path=/PathName; HttpOnly"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接