Reportviewer 在 IIS 上给出未捕获的 Sys.WebForms.PageRequestManagerServerErrorException

问题描述

我在我们的服务器上使用远程处理模式的 RDLC 报告,它们工作正常,但是当我使用 webforms 报告查看器控件和脚本管理器以编程方式打开它们时,它在我们服务器上的 IIS 10 上不起作用。

我在本地和我的本地系统 IIS 上检查了相同的代码,它们工作正常,服务器上的 IIS 肯定有问题,当我检查报告时,它给出了以下 javascript 错误,我认为尝试时脚本管理器获取记录在第一次报告获取数据时出错,但是当我选择任何参数并再次单击查看报告按钮时,它给出了 javascript 错误。请帮忙。

此问题仅出现在一台 IIS 服务器上,在另一台服务器上相同的代码运行良好,还在共享服务器上对其进行了测试并且运行良好,IIS 出现任何问题,因为它在 2 周前运行良好。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" >  
            </asp:ScriptManager>
                 <rsweb:ReportViewer  ID="ReportViewer1" KeepSessionAlive="true" AsyncRendering="False" runat="server" ProcessingMode="Remote" Height="100%" Width="100%">      
            <ServerReport displayName="" ReportPath="" 
                reportserverUrl="" />
        </rsweb:ReportViewer>

Error which I am receiving in chrome inspect

解决方法

代码出现错误。您可以启用失败请求跟踪来检查异常日志。

在 asp:ScriptManager 下面添加脚本。它将在控制台中显示错误消息。然后分析错误原因并修复。

通常,由于您在代码隐藏部分中编写的一段错误代码而导致服务器拒绝接受。找出代码中的错误并修复它。

<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender,args) {
    if (args.get_error() != undefined) {
        var msg;
        msg = args.get_error().message;
        console.log(msg);
    }
}