加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

内存不足 – 无限循环 – ASP.NET AJAX框架

发布时间:2020-12-16 07:42:36 所属栏目:asp.Net 来源:网络整理
导读:我们正在运行.NET 3.5 SP1. 最近,在IE中,我们的一些用户偶尔开始出现“Out of Memory”错误.这不会一直发生.我设法复制了几次,我发现这个代码来自AjaxControlToolkit.Common.Common.js文件,导致无限循环: AjaxControlToolkit.TextBoxWrapper.registerClass(
我们正在运行.NET 3.5 SP1.

最近,在IE中,我们的一些用户偶尔开始出现“Out of Memory”错误.这不会一直发生.我设法复制了几次,我发现这个代码来自AjaxControlToolkit.Common.Common.js文件,导致无限循环:
AjaxControlToolkit.TextBoxWrapper.registerClass( ‘AjaxControlToolkit.TextBoxWrapper’,
Sys.UI.Behavior); AjaxControlToolkit.TextBoxWrapper.validatorGetValue =
function(id){
var control = $get(id); if(control&& control.AjaxControlToolkitTextBoxWrapper)
{
return control.AjaxControlToolkitTextBoxWrapper.get_Value();}
return AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue(id);}

最后一行(调用_originalValidatorGetValue)基本上反复回调这个确切的函数,因为control.AjaxControlToolkitTextBoxWrapper是未定义的.

它上面定义的函数是AjaxControlToolkit.TextBoxWrapper.get_Wrapper(控件),如果它不存在,可以用来创建包装器,但如果我是这样的话,我不会觉得我想改变框架只有一个人在野外看到这个虫子.

该错误并不总是发生.当加载的第一个URL包含AJAX历史记录点时,似乎会发生这种情况.如果您打开一个页面并使用它,导致添加历史记录点,它可以正常工作.但是,如果将URL复制粘贴到另一个浏览器窗口,则会出现此问题.

因此,我的猜测是我正在做错误的历史记录控件没有正确设置包装器.即便如此,那里似乎存在无限循环.

有什么想法/线索吗?

我填写了一份关于Microsoft Connect的错误报告.在填写并测试各种场景的同时,我注意到它在本地运行良好但不是远程.比较我的生产/开发环境,我注意到CombineScripts在本地是假的.将其部署到我的生产服务器似乎解决了这个问题.

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=373171

解决方法

您可能希望在 Microsoft Connect上发布错误报告.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读