우리는 .NET 3.5 SP1에서 실행됩니다.메모리 부족 - 무한 루프 - ASP.NET AJAX 프레임 워크
최근 IE에서 일부 사용자는 "메모리 부족"오류가 발생하기 시작했습니다. 이것은 항상 발생하지 않습니다. 나는 그것을 두세 번 복제 할 수 있었고 AjaxControlToolkit.Common.Common.js 파일의이 코드가 무한 루프를 일으키는 것을 발견했습니다 : AjaxControlToolkit.TextBoxWrapper.registerClass ('AjaxControlToolkit.TextBoxWrapper', Sys.UI. 행동) AjaxControlToolkit.TextBoxWrapper.validatorGetValue = 기능 (ID) { VAR 제어 = $ GET (ID), 경우 (제어 & & control.AjaxControlToolkitTextBoxWrapper) { 반환 control.AjaxControlToolkitTextBoxWrapper.get_Value();} 반환 AjaxControlToolkit .TextBoxWrapper._originalValidatorGetValue (id);}
마지막 줄 (_originalValidatorGetValu e) control.AjaxControlToolkitTextBoxWrapper가 정의되지 않았기 때문에 기본적으로이 정확한 함수를 반복해서 호출합니다.
바로 위에 정의 된 함수는 AjaxControlToolkit.TextBoxWrapper.get_Wrapper (control)이며 존재하지 않으면 래퍼를 만드는 데 사용할 수 있지만 프레임 워크를 변경하려는 느낌이 들지 않으면 if 나는 야생에서이 버그를 본 유일한 사람입니다.
버그가 항상 발생하는 것은 아닙니다. 로드 된 첫 번째 URL에 AJAX 기록이 포함되어있을 때 발생합니다. 페이지를 열어서 재생하면 이력 점이 추가되어 제대로 작동합니다. 그러나 다른 브라우저 창에 URL을 복사하여 붙여 넣으면이 문제가 발생합니다.
따라서 내 생각에 래퍼를 올바르게 설정하지 않은 기록 컨트롤에 문제가 있습니다. 그렇더라도 거기에는 무한 루프가있는 것처럼 보입니다.
아이디어/단서가 있습니까?
Microsoft Connect에서 버그 보고서를 작성했습니다. 그것을 채우고 다양한 시나리오를 테스트하는 동안, 나는 로컬에서 잘 작동하지만 원격으로는 작동하지 않는 것으로 나타났습니다. 내 생산/개발 환경을 비교해 보니, 나는 CombineScripts가 로컬에서 허위임을 알아 차렸다. 이를 프로덕션 서버에 배포하면 문제가 해결 된 것으로 보입니다.
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=373171
동일한 문제가 있습니다. 둘 이상의 웹 서버가있는 스테이징 및 프로덕션에서만 발생합니다. –