2

우리는 ASP.Net AJAX 응용 프로그램의 테스트를 수행하고 Internet Explorer 6에서 메모리 사용량을 찾고 있습니다. & 7 페이지 새로 고침 당 최소 2MB 이상 증가합니다 (동일한 페이지를 새로 고치거나 새 페이지로 이동하는 경우).ASP.Net AJAX - IE 6/7 메모리 사용?

이것은 가장 기본적인 유지 관리 화면과 응용 프로그램 로고 및 메뉴 (ASP.Net 메뉴 컨트롤 + CSS 익스텐더 사용)가있는 기본 페이지에서도 발생합니다.

테스터들은 메모리 사용량 최고치로 IE6에서 속도 저하를보고하고 있습니다. 페이지가 파괴 될 때 메모리가 회수되지 않는 것으로 보입니다.

저는 ASP.Net 포럼을 둘러 보았습니다/인터넷 검색을하고 CSS 스크립트를 사용하지 못하게했습니다. 자바 스크립트에 스크립트 관리자 컨트롤이 하나씩 포함되어 있습니다 - scriptmanager가 지금까지 발견 한 가장 큰 범죄자 인 것 같습니다. .하지만 그것은 asp.net 아약스 사이트에 대해 좀 필요합니다!

스크립트 관리자에서 현재 사용 가능한 옵션으로 web.config, LoadScriptsBeforeUI = "false", ScriptMode = "Release"및 CombineScripts = "true"로 캐싱됩니다.

사용자가 페이지를 새로 고침하거나 새로운 페이지로 이동할 때이 메모리를 회수하고/또는 메모리를 늘릴 수있는 팁이 있습니까?

건배,

답변

0

article에서보세요 - 일이 모든 브라우저에 적용하지만 IE는 모든 관련 메모리 누수의 최악 설명했다. 어쩌면 응용 프로그램에서 자주 사용하는 패턴을 찾을 수 있으며이를 수정하면 2MB를 절약 할 수 있습니다.

+0

페이지 위로 제 3 자 컨트롤을 제외하고 sIEve를 실행했습니다. 누수가 발견되지 않았습니다. – Paul

1

2 년 전 IE6의 누수를 추적하기 위해 DRIP 유틸리티를 사용했습니다. 저는 ASP.NET AJAX와 JavaScript를 IE6과 IE7에서 사용하고 있으며 인트라넷 사이트에서는 300 명 이상의 동시 사용자가 24 시간 365 일 동안 문제없이 사용하고 있습니다.

IE6 버전이 최신 패치인지 확인하십시오 (IE6을 반드시 실행해야하는 경우!).

이외에도 Joscha가 제안한 기사가 최선의 방법입니다. 대부분의 누출은 버그가있는 것으로 밝혀지지 않은 ASP.NET AJAX 이외의 JavaScript로 인해 발생합니다.

+0

예 - 클라이언트가 SP2 버전에서 주장하는 IE6의 버전입니다. ToolkitScriptManager가 새로 고침 당 1 ~ 2MB의 RAM을 소비한다는 것을 보았습니다 (pagE에 대한 유일한 제어 일지라도). 롤백 및 ASP 스크립트 관리자 사용 (이전 버전의 툴킷이 작동해야 함) 요청 당 몇 백 KB 메모리 사용량을 유지 .... 혼란. – Paul

+0

안녕하세요 Paul - 동의합니다. 내 사이트도 IE6에서 작동해야합니다. IE SP2 버전 6.0.3790.3959가 있으며 메모리 누수 문제가 없습니다. HOWEVER (!) 나는 Toolkit을 사용하지 않고 있으므로 실제로 조언 할 수는 없습니다. 당신이 말하는 것에서 볼 때, 문제가없는 표준 ScriptManager보다는 범인 인 것처럼 보입니다. 모든 코드가 작업중인 HTML/XHTML 사양에 맞는지 확인하십시오. 나는 과거에 누출을 일으키는 폐쇄되지 않은 요소들을 알고있었습니다. 링크 : http://isaacschlueter.com/2006/10/msie-memory-leaks/ – PapillonUK