2010-02-12 2 views
1

ASP.NET 페이지 중 하나에 심각한 메모리 누수가 있습니다. 수동 활성화/비활성화 프로세스 후에 코드 페이지에 동적으로 빌드되고 페이지에 이미있는 UpdatePanel에 배치되는 접을 수있는 패널 집합으로 문제를 좁혔습니다. 나는이가 생각GridView 내부의 AJAX .NET CollapsiblePanel이 메모리 누수의 원인이됩니까?

<SCRIPT type=text/javascript __sIEve_hookedNode="true">Sys.Application.add_init(function() { 
$create(AjaxControlToolkit.CollapsiblePanelBehavior, {"ClientStateFieldID":"ctl00_Main_branchPanelExtender_ClientState","CollapseControlID":"ctl00_Main_btnBranchExpander","Collapsed":true,"CollapsedSize":0,"CollapsedText":"* ; ","ExpandControlID":"ctl00_Main_btnBranchExpander","ExpandedSize":100,"ExpandedText":"Collapse","ScrollContents":true,"TextLabelID":"ctl00_Main_btnBranchExpander","id":"ctl00_Main_branchPanelExtender"}, null, null, $get("ctl00_Main_BranchPanel"));});</SCRIPT> 

: 체를 사용

, 나는이 컨트롤이 분명히 각각 다음과 같은 형식 (체 후크 속성을 무시)를 가지고, 스크립트 태그를 대량으로 만드는 것을 볼 수 있었다 문제는 아니지만 완전히 확신 할 수는 없습니다. sIEve가 메모리 누수로보고하지 않지만 DOM 노드가 확실히 증가하고 페이지 크기가 제어 할 수 없게됩니다. 나는 또한 그것에 대해 무엇을 해야할지 잘 모르겠습니다. 내 생각 엔 해당 remove_init (또는 존재하지 않는) 호출되고 있지만 AjaxControlToolkit 라이브러리 프로젝트에서 함수 호출을 찾을 수 없습니다.

이 문제가 발생했거나 해결 방법에 대한 아이디어가있는 사람이 있습니까?

편집 : 브라우저 정보 이것은 주로 IE 6이지만, FireFox 3의 문제점에 대해서도 언급합니다. Opera와 Chrome은 메모리 누수가없는 것 같지만 Chrome은 컨트롤을 올바르게 렌더링하지 않습니다. 어느 한 쪽.

추가 정보 : HoverMenuExtender를 사용하는 다른 페이지에서 비슷한 문제를 발견했습니다. UpdatePanel이 게시되고 IE가 메모리를 결코 해제하지 않을 때마다 DOM이 증가하는 것처럼 보입니다. 어떤 항목을 잡고 잡고 수동으로 제거 할 수있는 방법이 있습니까? 아니면 지나치게 조심 스럽습니까? IE가 결국 메모리를 필요에 따라 해제합니다.

답변

0

글쎄, 여기에 대한 답변이 없으며 나는 하나 올 것이라고 의심합니다. 이 문제는 "IE6"과 같이 간단히 대답 할 수 있습니다. 때로는 특정 DOM 요소 (Option 태그의 선택 요소가 특히 쉽게 발생하는 것처럼 보임)가 정리되지 않으므로 시간이 지남에 따라 DOM이 채워지는 경우가 있습니다. IE6에서 다루기 힘든, 그러나 또 다른 일.

관련 문제