我們在.NET 3.5 SP1上運行。內存不足 - 無限循環 - ASP.NET AJAX框架
最近,在IE中,我們的一些用戶偶爾開始出現「內存不足」錯誤。這不會一直髮生。我設法複製它幾次,我發現這個代碼,從AjaxControlToolkit.Common.Common.js文件,導致無限循環: AjaxControlToolkit.TextBoxWrapper.registerClass('AjaxControlToolkit.TextBoxWrapper', Sys.UI.行爲); AjaxControlToolkit.TextBoxWrapper.validatorGetValue = 功能(ID){ 功控制= $ GET(ID);如果(控制& & control.AjaxControlToolkitTextBoxWrapper) { 回報control.AjaxControlToolkitTextBoxWrapper.get_Value();} 回報AjaxControlToolkit .TextBoxWrapper._originalValidatorGetValue(id);}
最後一行(它調用_originalValidatorGetValu e)基本上一遍又一遍地調用這個確切的函數,因爲control.AjaxControlToolkitTextBoxWrapper是未定義的。
上面定義的函數是AjaxControlToolkit.TextBoxWrapper.get_Wrapper(control),如果它不存在,可以用它來創建包裝器,但我不明白我想更改框架if我是唯一一個在野外看到這個bug的人。
該錯誤並不總是會發生。這似乎發生在加載的第一個URL包含AJAX歷史記錄點時。如果打開一個頁面並使用它,導致添加歷史記錄點,則它工作正常。但是,如果您將URL複製粘貼到另一個瀏覽器窗口中,則會出現此問題。
因此,我的猜測是我做了一些錯誤的歷史控件,沒有正確設置包裝。即便如此,那裏似乎也有一個無限循環。
任何想法/線索?
我在Microsoft Connect上填寫了一個錯誤報告。在填寫並測試各種場景時,我注意到它在本地運行良好,但不是遠程運行。比較我的生產/開發環境,我注意到CombineScripts在本地是錯誤的。將它部署到我的生產服務器似乎解決了這個問題。
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=373171
我遇到同樣的問題。只有在有多個Web服務器的分段和生產環境中才會出現。 – 2009-12-02 17:04:41