微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SSRS 在 MVC 中呈现的报告导致 404 错误

如何解决SSRS 在 MVC 中呈现的报告导致 404 错误

在从我们的 SSRS 呈现 pdf 报告时,我遇到了一个问题,请参阅以下内容。我试图查看不同的来源,但到目前为止没有任何效果

Microsoft.Reporting.WebForms.Internal.soap.ReportingServices2005.Execution.RSExecutionConnection.MissingEndpointException: 'The attempt to connect to the report server Failed. Check your connection information and that the report server is a compatible version.'

我有这些应该可以工作的代码行:

var parameters = new List<ReportParameter>
{ 
    new ReportParameter("paramter_1","paramter_1_value"),};
var reportserverUrl = ConfigurationManager.AppSettings["reportserverUrl"];
reportViewer.ServerReport.reportserverUrl = new Uri(reportserverUrl);
reportViewer.ServerReport.ReportPath = '/ReportFolder/ReportName';
reportViewer.ServerReport.reportserverCredentials = new CustomCredentials();
reportViewer.ServerReport.SetParameters(parameters);
reportViewer.ServerReport.Refresh();

var mimeType = "";
var encoding = "";
var filenameExtension = "pdf";
string[] streamids = null;
Warning[] warnings = null;
var outputFileName = "File_Name.pdf";
var bytes = reportViewer.ServerReport.Render("PDF",null,out mimeType,out encoding,out filenameExtension,out streamids,out warnings);
var pdfReport = File(bytes,"application/pdf",outputFileName);

在这里做错了什么吗?

解决方法

您可以尝试以下几点:

  1. 尝试从您尝试访问报告的位置 ping 服务器,看看您是否可以访问它。如果您无法通过 ping 到达它。如果您无法 ping 通它,则可能是防火墙有问题。服务器上的 Ping 可能被禁用,因此请确保不是这种情况。事实上,如果您无法通过代码访问报表服务器,您将无法运行报表。
  2. 确保您用于 ReportServerUrl 的路径与安装报表服务器的计算机上的报表服务器配置管理器中配置的路径相同。
  3. 确保已安装证书。检查此链接:https://blog.jpries.com/2017/02/11/troubleshooting-error-404-error-400-or-invalid-request-or-bad-connection-in-a-new-ssrs-installation/
,

对于任何可能会遇到这种情况的人来说,这是一个愚蠢的错误。我一直在使用用于在网络上打开报告的 http://server/reports

您可能需要检查报表服务器配置管理器并确保使用指向配置的虚拟路径的 URL。因此,假设虚拟路径为 reportserver,您必须将其用作 ReportServerUrl 才能呈现报表。

reportViewer.ServerReport.ReportServerUrl = new Uri("http://server/reportserver");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。