我有一个水晶报告版本13的项目,我作为MVC 3 .NET应用程序的一部分运行。 我们有4个现有的详细报告可以正常工作。
问题是我需要创建一个包含图表的新报表,我无法在运行时显示图表,尽管它们会在设计时显示OK。 这是在visual studio中本地运行(不是在iis中)。
问题似乎是因为水晶报告生成一个动态名为crystalimagehandler.aspx的文件,无论出于何种原因,我的计算机上都没有生成这个文件 当我生成进程监视器时,它会生成以下输出:
10:01:40.1814627 a.m. WebDev.WebServer40.exe 1692 QueryOpen D:\ tfs \ chad \ Main> \ Src \ chad \ Chad.Website \ Reports \ CrystalImageHandler.aspx NAME NOT FOUND
我已将以下行添加到我的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>
有没有人有任何其他建议?
答案 0 :(得分:1)
问题是因为这是一个MVC应用程序,我不得不告诉它忽略到reports文件夹的路由。我在这个帖子Embedded images not displayed in MVC application
中找到了解决方案我添加了一行:
routes.IgnoreRoute("Reports/{*restOfUrl}");
到我的Global.asax,这就行了。
请注意,添加httpHandler的web.config设置也是获取图像的必要前提条件。