ReportViewer循环ajax调用以保持会话活动,这会使Firefox看起来像';它不断地重新加载

ReportViewer循环ajax调用以保持会话活动,这会使Firefox看起来像';它不断地重新加载,report,reportviewer,Report,Reportviewer,在ReportViewer生成的HTML中,有以下代码行: setTimeout("frames['ctl00_templateContentPlaceholder_RptVwrTouchSession0'].location.replace('\\\/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=2649539aa5ca4b63ae81dc879a82ae33&ControlID=80797a28ba484c3e8

在ReportViewer生成的HTML中,有以下代码行:

setTimeout("frames['ctl00_templateContentPlaceholder_RptVwrTouchSession0'].location.replace('\\\/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=2649539aa5ca4b63ae81dc879a82ae33&ControlID=80797a28ba484c3e87a5a6ad5527403a&Culture=1033&UICulture=1033&ReportStack=1&OpType=SessionKeepAlive&TimerMethod=KeepAliveMethodctl00_templateContentPlaceholder_RptVwrTouchSession0&CacheSeed=' + encodeURIComponent(Date()));", 0);function KeepAliveMethodctl00_templateContentPlaceholder_RptVwrTouchSession0() {setTimeout("frames['ctl00_templateContentPlaceholder_RptVwrTouchSession0'].location.replace('\\\/Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=2649539aa5ca4b63ae81dc879a82ae33&ControlID=80797a28ba484c3e87a5a6ad5527403a&Culture=1033&UICulture=1033&ReportStack=1&OpType=SessionKeepAlive&TimerMethod=KeepAliveMethodctl00_templateContentPlaceholder_RptVwrTouchSession0&CacheSeed=' + encodeURIComponent(Date()));", -64831072);}
调用
Reserved.ReportViewerWebControl.axd
时,它会发出GET请求,返回以下HTML:

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

parent.KeepAliveMethodReportViewer1TouchSession0();
因此,实际上它变成了一个递归函数,因为
KeepAliveMethodReportViewer1TouchSession0
调用了一个设置的超时值为负的超时值,在Firefox中它会立即被调用,Firebug在大约10秒内记录了150多个GET请求,一分钟内记录了700多个请求


如果有人知道如何调整keepalive请求的超时,请提供帮助

我在web.config中减少了会话超时时间。这解决了问题。我还不知道这是怎么回事