2009-04-01 1 views
0

에 깜박 거리는 원인ASP.Net의 ReportViewer 다음 코드 줄이 인의 ReportViewer에 의해 생성 된 HTML에서 파이어 폭스

setTimeout("frames['ReportViewer1TouchSession0'].location.replace('/Reserved.ReportViewerWebControl.axd?...&TimerMethod=KeepAliveMethodReportViewer1TouchSession0...", 0); 

function KeepAliveMethodReportViewer1TouchSession0() { 
setTimeout("frames['ReportViewer1TouchSession0'].location.replace('/Reserved.ReportViewerWebControl.axd?...TimerMethod=KeepAliveMethodReportViewer1TouchSession0....", -1703027296); 
} 

(I는 불필요한 정보를 제거하여 더 읽기 쉽게 하다며 시도했다)

<html><body><script type="text/javascript">parent.KeepAliveMethodReportViewer1TouchSession0();</script 

: Reserved.ReportViewerWebControl.axd는 다음과 같은 HTML을 반환하는 GET 요청을한다라고

실제로 재귀 함수가되고 KeepAliveMethodReportViewer1TouchSession0은 음수 시간 초과 값으로 설정된 시간 초과 값을 호출하기 때문에 Firefox에서는 약 10 초 만에 즉시 호출됩니다. 방화범은 1 분에 150 건의 GET 요청을 로그하며 700 개가 넘는 요청이 기록됩니다. 이로 인해 Firefox의 중지 버튼과 커서가 깜박입니다.

Keepalive 요청에 대한 시간 초과를 조정하는 방법을 아는 분이라면 누구나 제정신 이예요. 당신의 도움에 감사드립니다.

답변

0

잘 모르지만 ...이 컨트롤이 TimerMethod 매개 변수를 통해 사이트 간 스크립팅 취약점을 노출한다는 점은 주목할 가치가 있습니다. 문제에 관한 문서는 너무 많지 않지만 조심하십시오. :)

1

나는 약 10000 번 세션 타임 아웃을 만들었을 때 파이어 폭스와 크롬에 깜빡임이 멈췄다. 이유는 모르지만 그 문제는 해결되었습니다. ASP.Net 커뮤니티의 초보자입니다. 응용 프로그램이 IIS (개발 서버와 관련 없음)에있을 때 세션 시간 초과 (이전에는 120000으로 유지)와 reportviewer가 깜박 거리는 관계를 알고 싶습니다.

1

나는이 스레드 년 된 부부 알지만, 오늘은 비슷한 문제를 가지고 있었고, 여기에 해결책을 발견 : 그것은 ReportViewer에서 상속 사용자 지정 컨트롤을 생성하는 해킹의 비트가

http://www.google.com/support/forum/p/Chrome/thread?tid=331a0a766d6da660&hl=en

입니다 Render() 메서드를 재정 의하여 문제가되는 JavaScript를 대체합니다.