什么与ASP.NET';s HttpContext.Current.Items是否在经典ASP中?

什么与ASP.NET';s HttpContext.Current.Items是否在经典ASP中?,http,asp-classic,request,httpwebrequest,httpcontext,Http,Asp Classic,Request,Httpwebrequest,Httpcontext,HttpContext.Current.Items是一个具有HTTP请求生命周期的存储 我想知道与此相对应的经典ASP。经典ASP中没有与之相对应的内容。为此,您只有请求、响应、会话、应用程序和服务器等对象。您可以使用会话以类似的方式将内容从一页存储到另一页: 会话(“MyVar”)=“我要保留的值” 但是在ASP中,页面的跳转并不像在.net中使用用户控件等那样频繁。使用一些全局控件可能会更好 如果您给我们多一点上下文(没有双关语),可能会更好地为您指出正确的方向。具有全局范围的集合对象也可以

HttpContext.Current.Items
是一个具有HTTP请求生命周期的存储


我想知道与此相对应的经典ASP。

经典ASP中没有与之相对应的内容。为此,您只有请求、响应、会话、应用程序和服务器等对象。

您可以使用会话以类似的方式将内容从一页存储到另一页:

会话(“MyVar”)=“我要保留的值”

但是在ASP中,页面的跳转并不像在.net中使用用户控件等那样频繁。使用一些全局控件可能会更好


如果您给我们多一点上下文(没有双关语),可能会更好地为您指出正确的方向。

具有全局范围的集合对象也可以完成同样的任务。

不完全如此。通常,您会使用Context.Items来收集要与处理请求期间可能调用的其他组件共享的值。ASP最接近这类东西的是Server.Execute或Server.Transfer,它们都不能通过使用全局作用域集合来实现等价物。+1不过是一个小的更正,没有等价物。注意现在时态,尽管预后不佳,ASP经典仍将伴随我们一段时间Context.Items不能在“页到页”中生存,尽管我同意你能得到的最接近的方法是使用Session对象来存储primative项,然后在完成请求之前将它们从会话中删除,但与Context.Items相比,它仍然很弱。不过,这就是整个问题所在,ASP中的Context.Items没有相似匹配,因此您永远找不到完全匹配的内容。试图将新技术改造成旧技术是很困难的。这是可行的,但通常会有一些折衷。会话是在ASP中实现这一点的方法,这就是它的构建目的,尽管来自.net世界的用户需要调整他们使用它的方式,以免滥用它,因为正如您所说的,它在作为上下文的每个请求后都不会被清除