1

我有一个带有水晶报表版本 13 的项目,我正在作为 MVC 3 .NET 应用程序的一部分运行。我们有 4 个可以正常工作的现有详细报告。

问题是我需要创建一个包含图表的新报表,并且我无法在运行时显示图表,尽管它们在设计时会显示正常。这是在 Visual Studio 中本地运行的(不在 iis 中)。

问题似乎是因为水晶报告会动态生成一个名为 crystalimagehandler.aspx 的文件,并且无论出于何种原因,这都不会在我的计算机上生成当我在生成报告时运行进程监视器时,它会产生以下输出:

上午 10:01:40.1814627 WebDev.WebServer40.exe 1692 QueryOpen D:\tfs\chad\Main>\Src\chad\Chad.Website\Reports\CrystalImageHandler.aspx 未找到名称

我已将以下几行添加到我的 web.config

      <httpHandlers>
          <add verb="GET" path="CrystalImageHandler.aspx"             type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
        </httpHandlers>

(在 system.webServer 中)

        <handlers>
          <add name="CrystalImageHandler.aspx_GET" path="CrystalImageHandler.aspx" verb="GET" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode" />
        </handlers>

有没有人有任何其他建议?

4

1 回答 1

1

问题是因为这是一个 MVC 应用程序,我不得不告诉它忽略到报告文件夹的路由。我在这个线程中找到了解决方案Embedded images not display in MVC application

我添加了这一行:

     routes.IgnoreRoute("Reports/{*restOfUrl}");

到我的 Global.asax,就成功了。

请注意,添加 httpHandler 的 web.config 设置也是让图像显示的必要前提条件。

于 2013-02-24T22:41:09.947 回答