CrystalImageHandler.aspx未找到(CrystalImageHandler.as

2019-06-26 02:00发布

我使用水晶报表的MVC3应用程序正常ASP.NET aspx页面上的观众。 在控制器的行动,我简单地重定向到aspx页面和报告显示的罚款。 但问题是动态图像。 我已经找到了这一点,这是最简单的解决方案,以通过图像路径作为报表参数和设置此参数图片来源。 在Visual Studio中预览工作正常,但在执行的时候我在页面上看到此错误。

“NetworkError:404找不到- 服务器 /ReportWebForms/CrystalImageHandler.aspx?dynamicimage=cr_tmp_image_4fbcb73a-e001-4365-84fc-164788dd1605.png”

所以我认为,具有水晶报表没有以往的经验,这个问题是在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.web>
  <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>

这是一个MVC类型的问题? 谁能帮助这个好吗?

谢谢

Answer 1:

我有同样的问题,但幸运的是我有水晶报表的一些经验。

你只需要改变的Web.config,因为“路径”属性设置为站点根目录。 如果你打开浏览器的URL,并从中取出ReportWebForms它将工作。

其实我刚加入2条配置的线路:

<system.web>
    <httpHandlers>
      <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
      <!-- Added -->
      <add verb="GET" path="Reports/CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
      <add verb="GET,HEAD" path="asset.axd" validate="false" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc" />
    </httpHandlers>
</system.web>

<system.webServer>
    <handlers>
      <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
      <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" />
      <!-- Added -->
      <add name="CrystalImageHandler.aspx_GETR" verb="GET" path="Reports/CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode" />
      <remove name="asset" />
      <add name="asset" preCondition="integratedMode" verb="GET,HEAD" path="asset.axd" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc" />
    </handlers>
</system.webServer>

最后,必须添加一个无视规则MVC应用程序的路径:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
// Here is added new ignore rule
routes.IgnoreRoute("Reports/{resource}.aspx/{*pathInfo}");

在我来说,我有一个文件夹名为Reports在.aspx文件被放置。 我想你应该在你的情况下,这个改变ReportWebForms。



Answer 2:

在我来说,我只需要忽略MVC的routing.To添加到@Hovhannes solution.You应该添加此规则Routeconfig.cs

routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*(CrystalImageHandler).*" });


Answer 3:

回答:在RouteConfig.cs文件中添加这

routes.IgnoreRoute( “报告/ {资源}的.aspx / {*} PATHINFO”);

注:“报告”是其中包含水晶报表查看aspx页面的目录名称在这里输入图像描述



Answer 4:

使用此代码CrystalImageHandler.aspx:

<%@ Page Language="C#" AutoEventWireup="true" %>

<script runat="server" language="c#" >
    protected void Page_Load(object sender, EventArgs e)
    {
        CrystalDecisions.Web.CrystalImageHandler handler = new CrystalDecisions.Web.CrystalImageHandler();
        handler.ProcessRequest(this.Context);            
    }
</script>


文章来源: CrystalImageHandler.aspx not found