簡體   English   中英

內存不足錯誤-經典ASP和VPASP購物車

[英]Out of Memory Error - Classic ASP & VPASP Shopping Cart

我有一台運行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的最新版本。

任何解決此問題的建議將不勝感激!

我可以看到很長一段時間以來,這個問題都沒有得到解答,您可能已經繼續前進,但是今天我遇到了這個問題,我已經解決了。 這是發生了什么...

雖然錯誤消息與您的錯誤消息相同,但行號指向的代碼像您的示例一樣使用redim為數組重新分配了空間,但這只是指向程序最終耗盡內存的位置-並非導致錯誤的真正原因。額外的內存使用。

幸運的是,我記得最近我在一些古老的數據庫代碼中做了另一個實驗性更改:

        Set dbProviderCon = Server.CreateObject("ADODB.Connection")
        dbProviderCon.CursorLocation = adUseClient

我已經注釋掉了最后一行,以查看它將產生什么效果。 事實證明,效果快用完了。 重要的是,在我的代碼調整數組大小的那一行,它還獲取了RecordSet的RecordCount屬性。 這是關於該問題的另一討論 我希望這可以幫助別人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM