.Net应用程序与水晶报告无法在共享主机中工作

时间:2017-11-29 05:15:41

标签: c# asp.net .net asp.net-mvc crystal-reports

我有一个使用水晶报告的MVC应用程序。我使用以下代码下载报告,

 ReportDocument rd = new ReportDocument();
 rd.Load(Path.Combine(Server.MapPath("~/Reports/" + Session["rpt"])));
 rd.SetDataSource(Session["result"]);
 Response.Buffer = false;
 Response.ClearContent();
 Response.ClearHeaders();
 //Excel
 Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel);
 stream.Seek(0, SeekOrigin.Begin);
 return File(stream, "application/vnd.ms-excel", "Cheque.xls");

报告在localhost下载正常工作。但是当我在Godaddy的共享主机中托管这个应用程序时,给出以下屏幕 enter image description here

3 个答案:

答案 0 :(得分:7)

Godaddy的共享主机不支持Crystal报道。 不仅Godaddy的共享主机,而且大多数主机提供商的共享主机不支持 水晶报道。要使用Crystal报表,您必须购买VPS或专用服务器。

如果要在服务器上运行Crystal报表,则始终需要该服务器上的Crystal报表运行时。 GoDaddy的共享托管服务器使用不支持的默认中等信任级别 水晶报告运行时的insatllation。

实用信息:

  

GoDaddy的共享托管服务器使用默认的中等   信任级别添加OleDbPermission,OdbcPermission和   限制较少的WebPermission。

     

在...下运行的应用程序   中等信任级别没有注册表访问权限,无法访问Windows   事件日志,并不能使用反射。这样的应用程序可以   仅与定义的网络地址和文件范围进行通信   系统访问仅限于应用程序的虚拟目录   层次结构。请确保您的应用程序可以在   如果您遇到任何问题,请使用中等信任环境。

因此,人们可以将此作为共享托管权限通常的标志。

支持Crystal Report的共享主机之一是http://asphostportal.com。我不确定这一点。 我从其他社区获得了这些信息。

答案 1 :(得分:0)

由于log4net程序集版本不匹配,您收到此错误。看到这个  link

答案 2 :(得分:0)

我已经通过 Godaddy 共享主机再次确认了这一点,截至 2021 年 4 月,他们仅支持专用服务器或 VPS 上的 Crystal 报告。