나는 대안을 찾을 곳이나 문제를 식별 할 수있는 방법에 대한 아이디어를 고맙게 생각합니다. (이것은 C# .Net 3.0 응용 프로그램입니다.).Net Web Form에서 Div의 String 형식의 HTML이 매우 느리게 렌더링됩니다.
4 개의 텍스트 상자가있는 마스터 페이지가 있습니다. 사용자가 텍스트 상자 중 하나에 텍스트를 입력하면 javascript 호출이 트리거되어 마스터 페이지의 IFrame 안에있는 검색 결과 페이지를 새로 고칩니다.
검색 결과 페이지가로드되면 검색 기능을 호출하는 '< % = results %>'속성이 호출됩니다. 검색 함수는 SQL Server 데이터베이스에서 XML 문자열을 검색하여 XmlDocument로로드하고 XLST를 사용하여 결과를 stringWriter로 변환하여 "results"속성으로 되돌립니다.
XSLT 출력은 약 24 개의 열과 행을 강조 표시하기위한 행의 JavaScript 및 선택한 행을 편집하기위한 새 화면으로 이동하기위한 각 행의 일부 링크로 구성된 표입니다.
최대 100 개의 행이 적시에 작동합니다. 200 개의 테이블 행에 도달하면 지연 시간이 눈에 띄게됩니다. 500 행에서 렌더링하는 데 약 12-15 초가 소요되고 1000 행에서 90 초가 걸립니다. 가능한 3000 개의 레코드가 있으며 사용자는 정렬, 분석 및 내보내기를 위해 모든 행을 반환하는 옵션을 원합니다. 그래서 더 나은 마우스 트랩이 필요합니다.
지연은 Internet Explorer 8.0을 사용한 브라우저 렌더링에 전적으로 있습니다. Google 크롬을 사용하면 1000 행에 약 7 초가 걸립니다. 또한 추가 테스트 코드를 사용하여 xslt 변환의 html 출력을 파일로 작성하여 출력이 제대로 형성되고 아무런 문제가 없는지 확인합니다. 로컬 컴퓨터의 저장된 파일을 탐색하고 새 브라우저 창에서 1000 개의 행을 탐색했으며 브라우저에로드하는 데 약 5 초가 걸립니다. 그래서 IFrame의 웹 양식에 직접로드하는 데 90 초가 걸리는 이유는 무엇입니까?
아무도 실마리가 나고 문제를 해결하는 방법에 대한 단서가 있습니까? 이 너트를 갈라지는 더 좋은 방법이 있습니까? XSLT 출력을 파일에 저장하고 IFrame에로드하면 더 좋을까요? 아니면 xslt 스크랩하고 그냥 response.Write 루프를 사용해야합니까?
코드를 추가 할 수 있습니까? 이 방법을 추측하는 것은 조금 어렵습니다. – Bazzz
죄송합니다.이 포럼을 처음 사용했습니다. 댓글 영역에 붙여 넣기 만합니까? –
변환에 90 초가 걸리십니까? 주제 끄기 : Emacscript의 이벤트는 이벤트 캡처 및 이벤트 버블 메커니즘에 의해 올바르게 처리되어야합니다. 즉, 공통 조상에 하나의 요소 만 등록하면됩니다. –