C# SSRS-找不到404页
我有一台windows 2008服务器,在SQL 2008上运行SSRS。它也是一个安装了Plesk的web服务器 我已经在开发服务器上为此服务器开发报告一段时间了。在开发服务器上一切正常。但我尝试将报告移动到live server,结果出现以下错误: 服务器错误 404-找不到文件或目录。 您正在查找的资源可能已被删除、名称已更改或暂时不可用 我不知道为什么会发生这种情况,因为当我自己访问报告URL时,它工作正常。但是,当我在托管在同一台服务器上的web应用程序中调用报表时,我就收到了这个错误。我的应用程序是用c#和asp.net编写的。下面是我用来访问报告的一段代码。如有任何帮助,将不胜感激:C# SSRS-找不到404页,c#,asp.net,ssrs-2008,reporting-services,C#,Asp.net,Ssrs 2008,Reporting Services,我有一台windows 2008服务器,在SQL 2008上运行SSRS。它也是一个安装了Plesk的web服务器 我已经在开发服务器上为此服务器开发报告一段时间了。在开发服务器上一切正常。但我尝试将报告移动到live server,结果出现以下错误: 服务器错误 404-找不到文件或目录。 您正在查找的资源可能已被删除、名称已更改或暂时不可用 我不知道为什么会发生这种情况,因为当我自己访问报告URL时,它工作正常。但是,当我在托管在同一台服务器上的web应用程序中调用报表时,我就收到了这个错误
string ExpId1 = Convert.ToString(Request.QueryString["Id"]).Trim();
string ExpId2 = ExpId1.Replace("@", "+");
Int32 ExpId3 = Convert.ToInt32(qsc.decryptQueryString(ExpId2));
string id=ExpId3.ToString();
ReportViewer1.Width = 1050;
ReportViewer1.Height = 600;
ReportViewer1.Style.Add("Overflow", "Scroll");
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
IReportServerCredentials irsc = new CustomReportCredentials("user", "password", "server");
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportParameter[] para = new ReportParameter[2];
para[0] = new ReportParameter();
para[0].Name = "ExpHearderId";
para[0].Values.Add(id);//any value
para[1] = new ReportParameter();
para[1].Name = "ExpHeadreId";
para[1].Values.Add(id);//any value
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://xxx.xxx.xxx.xxx/reportserver_TGO");
string path=Server.MapPath("~/ReportingofUsers/ExpenseClaimReport");
ReportViewer1.ServerReport.ReportPath = path;
ReportViewer1.ServerReport.SetParameters(para);
ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ServerReport.Refresh();
ReportViewer1.Visible = true;
这将有助于:
编辑:还有一件事。我很确定,当您使用Reports Server时,不应该使用
Server.MapPath
。只需指定您在Reports Server中看到的路径,在您的示例中:/ReportingofUsers/ExpenseClaimReport
。这是假设您将报告发布到服务器。我以前尝试过使用该路径。那是行不通的。但我会把它换回来。你提供的链接也没有为我修复它。无论如何,谢谢……嗯,大约两周前我遇到了同样的问题,添加这个处理程序解决了这个问题。可能尝试在IIS中重新启动应用程序池?我将尝试。我可以使用服务器上部署的报表url从本地系统访问此报表。但是我把它放在我的应用程序中,然后尝试访问它,就像我得到错误一样。。。