【发布时间】:2013-06-27 20:57:56
【问题描述】:
我有一台运行 IIS 5 的旧版 Windows 2000 服务器。我在这台服务器上安装了许多网站,而一个特定的客户遇到了一个有趣的错误。他正在使用 VP-ASP 购物车。
Microsoft VBScript runtime error '800a0007'
Out of memory
/cart/admin/admin$db.asp, line 558
该行附近的相关代码:
'********************************************************************************
'all routines dealing with actual cart are here
'CartaddItem ()
'CartInit
'********************************************************************************
sub CartInit
dim ArrCart
dim MaxCartItems, CartAttributes
MaxCartItems=GetConfig("xMaxCartItems")
CartAttributes=cMaxCartAttributes
if MaxCartItems="" then exit sub
redim ArrCart(CartAttributes,MaxCartItems)
session("CartArray") = ArrCart
session("CartCount") = 0
end sub
问题是,当他开始出现这个错误时,机器只使用了超过 50% 的内存。 HDD 上还有可用空间。
我能找到的最佳建议是我们应该更新 .NET 1.1 SP1。我似乎使用的是 .NET 1.1.4322,据我所知,它是 1.1 的最新版本。
任何解决此问题的建议将不胜感激!
【问题讨论】:
-
该错误更多地与未释放的资源有关 - 例如在使用后处置对象,而不是像硬盘空间这样的实际物理资源。
-
.net 与经典的 asp 和 vbscript 完全无关
-
我当然很清楚 Win2000 不支持 - 但我也恰好是对 ASP 或 IIS 不太了解但负责解决此问题的 Jr. 技术人员!不是一个决定我们何时退役服务器的大奶酪;)@SearchAndResQ 它似乎与扩展数组的这个功能有关,所以我觉得第一个链接是正确的。如果他使用这个软件达到了 ASP 的一些限制,我可以为他做些什么,或者他是否必须进行某种更新/代码更改?如果将他迁移到较新的 Windows 服务器就可以做到这一点。
-
可能他的网站有很多访问者,因此会话已满。不要使用 Session 来保存整个购物车,而是使用数据库。
标签: windows asp-classic vbscript iis-5 windows-server-2000