더 큰 시스템에서 워크 플로의 일부로 2 페이지 설정이있는 성능 문제가 있습니다. 이 섹션에서는 사용자가 자신의 매개 변수를 선택할 수 있도록 보고서를 렌더링하는 데 전념합니다.느린 aspx 페이지로 리디렉션
Page1.aspx
은 보고서의 매개 변수 정보를 수집합니다. 양식에 제출 된 정보를 취합하여 검증합니다. 확인의 유효성을 확인하면 선택 사항을 XML로 DB에 저장 한 다음 쿼리 문자열에 실행 ID와 함께 Page2.aspx
으로 리디렉션합니다. 간단하고 성능이 좋습니다.
Page2.aspx
는 DB에서 ID를 가져오고 (밀리 초를 복용)을 수정 ReportDocument
객체 그때 우리는 다음 PDF 또는 DOC 나 XLS 다운로드 (출력 형식이 Page1.aspx
결정된다)로 보고서를 렌더링 ExportToHttpStream
전화를 수분을. ExportToHttpStream
메서드의 성능은 보고서가 작성된 방식과 대상 시스템의 DB 인덱스 때문에 매우 열악합니다. 이것은 현재 내 통제 밖이지만, 나는 그들이 일하고 있다고 약속한다.
따라서 Page1.aspx
의 제출 단추를 누르면 다운로드가 시작되기 전에 매우 긴 시간이 지연되는 문제가 있습니다. 그런 다음 사용자가 제출 단추를 다시 눌러 문제가 있다고 생각하면 다시 작성됩니다.
Page1.aspx
Page2.aspx
으로 리디렉션해야한다고 생각합니다. Page2.aspx
은 마스터 페이지 가구와로드를 div
으로 렌더링해야하며 저장 대화 상자가 자동으로 팝업되기 전에 보고서가 백그라운드에서 비동기 적으로 렌더링되어야합니다. 그러면로드 div를 '생성 된 보고서'로 변경하고 싶습니다. 여기를 클릭하십시오. 돌아 가라.
이렇게하는 것이 가장 좋은 방법이라면 어떻게 전체 페이지를로드 한 다음 비동기 적으로 보고서를 요청할 수 있습니까? 나는 여기에 어떤 제안에 열려 있습니다.