Application(“Something”)和Session(“Something”)之间有什么区别

时间:2010-09-06 11:10:04

标签: asp-classic vbscript

在调试经典ASP应用程序时(同时学习经典ASP)我遇到了以下内容

Application("Something") = "some value"

和代码中的其他地方因此使用了这个值:

someObj.Property = Session("Something")

Application对象与Session的关系如何?

1 个答案:

答案 0 :(得分:4)

Session变量已链接到用户。所有用户之间共享Application变量。

Application是一个方便的保险库,用于存储您想要保留的内容,但您不能保证它们会永远存在。所以想想低端缓存,短期变量存储等等。

在这个带有这些定义的上下文中,除了获取和设置变量与每个变量大致相同之外,它们几乎没有相互关联。

注意:使用Application时可能会出现并发问题(因为您可能很容易让多个用户点击读取或写入内容的内容),所以建议您使用{{ 1}}在你写完之前{}}} {}}}这只适用于写作。

注2:我不确定它是否在请求完成后自动解锁(这是明智的)但我不相信它。确保应用程序中可能出现爆炸的任何部分都不在锁定之内,否则您可能会面临锁定其他用户的情况。

注意3:同样,不要把需要花费很长时间的东西放在锁内,只需要写入数据的位。如果您在锁定时执行需要10秒钟的操作,则会锁定所有其他人。