【问题标题】:crystal report trust level issue水晶报表信任级别问题
【发布时间】:2015-03-04 10:23:05
【问题描述】:

我开发了我的应用程序,我在其中使用了水晶报表。当我在我的系统中运行应用程序时,水晶报告运行良好。但是,当我将信任级别更改为中等时,我收到一条错误消息: System.Security.Permissions.FileIOPermission,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 我尝试使用断点找出错误,它在此特定行上显示错误 fileIOPermission rd.Load(Server.MapPath("~/CustomerPurchaseBill.rpt"));

任何建议都将不胜感激。

【问题讨论】:

    标签: crystal-reports medium-trust


    【解决方案1】:

    这可能是因为 Crystal Reports 在写出文件时使用了 Windows Temp 目录(这使得它在您无法控制这些东西的托管环境中几乎无法使用)。我有一篇 2008 年的帖子,我会更详细地介绍:

    http://www.blakepell.com/2008-10-09-crystal-reports-2008-aspnet-iis

    修复需要通过注册表更改权限和/或更改 Crystal 使用的目录(也不容易访问)。

    虽然,您的错误也可能发生,因为您无法访问文件系统上的报告文件。如果是这种情况,您可以考虑对那部分代码使用模拟,以便它在确实拥有权限的帐户下运行。

    希望这会有所帮助!

    【讨论】:

    • 您好,我能够解决上述问题,我要求我的托管服务提供商更改信任级别。现在使用相同的代码我面临这个问题。 System.Runtime.InteropServices.COMException:文件名无效。我现在不确定代码有什么问题,请帮我解决这个问题
    • Server.MapPath 是否需要波浪号“~”?如果该 RPT 文件位于您网站的根目录中,请尝试 rd.Load(Server.MapPath("/CustomerPurchaseBill.rpt"))。
    猜你喜欢
    • 2010-09-22
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多