当我尝试将报告导出到 ReportViewer 中超过 110 秒的 Excel 时,我遇到了运行时错误。
这个问题的唯一有效解决方案是在根 web.config 文件中的 httpRuntime 下设置 executionTimeout,这是我在此处和许多其他站点上找到的。
现在,虽然这确实有效,但它对于项目来说并不理想,如果只有 ReportViewer 有更长的运行时超时,那就更好了。
那么我的问题是有什么方法可以只为 ReportViewer 设置 executionTimeout 吗?
我尝试过的仍然超时的事情
将 executionTimeout 应用于根 web.config 中 ReportViewer 所在的区域
<location path="Areas/Reporting">
<system.web>
<httpRuntime executionTimeout="600" maxRequestLength="2097151"/>
</system.web>
</location>
在 ReportViewer 后面的代码中设置以下超时
Server.ScriptTimeout = 600;
ScriptManager.GetCurrent(this).AsyncPostBackTimeout = 600;
if (!IsPostBack)
{
reportViewer.ServerReport.Timeout = reportViewerServerReportTimeoutMilliseconds;