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

Abh*_*C K 4 .net c# asp.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");
Run Code Online (Sandbox Code Playgroud)

报告下载在localhost中工作正常.但是当我在Godaddy的共享主机中托管这个应用程序时,给出以下屏幕 在此输入图像描述

Abh*_*C K 7

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

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

有用的信息 :

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

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

因此,人们可以使用它来表示共享主机权限通常是什么样的.

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