我在我继承的应用程序(.NET 1.1)中有一些Crystal Reports(V10),它部署在四个“相同”的环境中。在三种环境中,它们运行良好。在第四个中,图表图形在Web查看器中不可见。如果您导出报告,它们将可见。
IT人员发誓所有四种环境中的一切都完全相同,并将问题提交给我解决。我不知道我将如何做到这一点,因为我无法到服务器检查任何事情。但我不明白这不是一个环境问题。
在我看来,Crystal具有编写文件和检索文件以呈现报告的导出版本所必需的权限,但ASP WP在呈现页面时无法访问图形文件。
感谢您提供的任何建议,帮助我!
解决 来自IT人员:“我们必须将IIS中的CrystalReportsViewer10文件夹中的”执行权限“从”仅脚本“更改为”脚本和可执行文件“。所有其他站点只有”仅脚本“,它们没问题。 “
答案 0 :(得分:7)
我可以在开发环境中将下一个键(处理程序)添加到web.config来解决此问题:
<system.webServer>
<handlers>
<add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/>
</handlers>
</system.webServer>
<system.web>
<httpHandlers>
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</httpHandlers>
</system.web>
答案 1 :(得分:3)
需要一个名为“CrystalReportViewers115”的IIS虚拟目录。我认为版本之间的确切名称会发生变化。这需要您的ASP.NET用户可见。开始查看有效的环境,看看他们是否安装了此虚拟目录,并将其与故障环境中的目录进行比较。作为另一项检查,您应该能够将图像的URL输入浏览器并查看它们。要找到URL,请右键单击图片并选择“属性”。例如:
http://localhost/crystalreportviewers/images/toolbar/export.gif
当您直接浏览URL时,您应该会看到图片。
答案 2 :(得分:2)
答案 3 :(得分:1)
在网站的源文件夹中添加aspnet_client
文件夹。例如:
C:\inetpub\wwwroot\myapplication\aspnet_client\system_web\4_0_30319\CrystalReportWebFormViewer4
答案 4 :(得分:0)
我最近遇到过这个问题:虽然我的解决方案有点不同:
进入C:\ Program Files \ Common Files \ Crystal Decisions \ 2.5 \ crystalreportviewers10文件夹并关闭自定义错误后,我发现错误来自C:\ Windows \ Temp \ <上的访问被拒绝问题/ p>
然后解决方案不是处理程序或更改IIS以运行脚本和可执行文件,它是允许网络服务读取C:\ Windows \ Temp \
的权限修改强> 想想我找到了另一个不需要更改权限的解决方案......只需为aspnet_client设置一个虚拟目录;您选择此项的级别将在很大程度上取决于您的IIS布局。