2013-04-14 35 views
4

我试图在这个主题中的所有解决方案: .NET 3.5 chart controls exception: Error executing child request for ChartImg.axd执行ChartImg.axd的子请求时出错。这是不是重复

我加入了

<add 
    path="ChartImg.axd" 
    verb="GET,HEAD" 
    type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    validate="false" /> 

代码为httpHandlers部分,但它仍然无法正常工作。

我还补充说:

<appSettings> 
    <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" /> 
</appSettings> 

<httpHandlers> 
... 
    <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> 
... 
</httpHandlers> 

<handlers> 
... 
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 

... 
</handlers> 

但一会儿战斗放在正确的地方这些标签在配置文件后,我得到了同样的错误。

这是目前我的配置文件:

<?xml version="1.0"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 

    <appSettings> 
    <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" /> 
    </appSettings> 
    <system.web> 
    <httpHandlers> 

     <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> 

    </httpHandlers> 

    <!--<pages> 
     <controls> 
     <add tagPrefix="artem" namespace="Artem.Google.UI" assembly="Artem.Google"/> 
     </controls> 
    </pages>--> 
    <compilation debug="true" targetFramework="4.5"> 

     <assemblies> 
     <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 

     </assemblies> 

    </compilation> 

    <httpRuntime targetFramework="4.5"/> 
    </system.web> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    </system.webServer> 
</configuration> 

我一直停留在这两个小时无法得到任何工作。 我正在使用.net框架4.5

回答

2

对于此问题的其他人无法修复它。

  1. 我就在这里: http://forums.asp.net/t/1843074.aspx/1

  2. 我复制并粘贴此验证码为在web.config文件中的相应部分。

  3. 我然后从IIS 8收到此错误信息与所述图表控制页面的运行:

    HTTP错误500.23 - 内部服务器错误 已检测到ASP.NET设置不适用于集成管理流水线m颂。

  4. 该消息还包含建议:

可尝试:迁移配置到 system.webServer /处理器部分。您可以手动或通过在命令行中使用 AppCmd执行此操作。例如,从IIS Express 安装目录运行appcmd migrate config“Default Web Site /”。 使用AppCmd迁移您的应用程序将使其能够在 集成模式下工作。它将继续以经典模式和 以前版本的IIS工作。如果您确定可以忽略 此错误,则可以通过将 system.webServer/[email protected]设置为 false来禁用该错误。或者,将应用程序切换到经典模式 应用程序池。例如,从IIS Express安装目录 运行appcmd set app“Default Web Site /” /applicationPool:“Clr4ClassicAppPool”。只有在您无法迁移您的应用程序时才会执行此操作。

其中的建议都是以:

开关应用到经典模式的应用程序池。对于 示例,从IIS Express安装目录运行appcmd set app “Default Web Site /”/ applicationPool:“Clr4ClassicAppPool”。如果您无法迁移您的应用程序,则只需执行 。

所以我google一下,我去这里:

How to switch IIS Developer Express to "Classic Mode"

的最佳解决方案更改为经典模式是这样的:

使用APPCMD是不需要的,这是最好的在项目的 设置中更改此项:

单击解决方案exp中的web项目lorer按F4获得 属性页显示出来(不是属性页,但如果你设置了一般的东西越简单 属性窗口)寻找“托管 管道模式”,这个更改为“经典”

现在图表控制工作。如果任何人有更好的解决方案(例如,我不明白的错误中的其他解决方案建议)可以随意更清楚地描述这些建议。

4

我设法解决这个问题(我用的DotNetNuke和我有“错误执行子请求ChartImg.axd。”错误)

添加以下行到我的web.config文件

<configuration> 
    <system.webServer> 
    ... 
    <handlers> 
     ... 
     <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" 
     path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
    </handlers> 
    <validation validateIntegratedModeConfiguration="false" /> 
    </system.webServer> 
    <system.web> 
    <httpHandlers> 
     <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     validate="false" /> 
    </httpHandlers> 
    ... 
    </system.web> 

</configuration> 

在DotNetNuke中,如果您想在安装过程中从模块更新配置文件,请按照this post

+0

您的解决方案对我的作品!谢谢!! – Jabuciervo

5

这里是我的情况:

  • 从3.5升级到4.0
  • 当我的机器(64位的Win7)
  • 时发布到Win2003的服务器
  • 没有工作在本地编译它的工作

我只是缺少这样的:

<system.web><httpHandlers> 
    <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    validate="false" /> 
</httpHandlers></system.web> 
0

使用以下属性中的根的asp:图表标签

ImageLocation="~/images/temp/ChartPic_#SEQ(300,3)" ImageStorageMode="UseImageLocation" 

移除web.config中所有配置。通过上述更改,您将处理保存图表图像的位置,而不是图表api。

0

我在Windows 2003服务器上间歇性地收到这个错误。我申请了网络。从迈克尔的解决方案配置代码,但它仍然偶尔跌倒。这是我如何解决它:

虽然远程desktopped的Windows 2003 Server上,我公司推出的网站在本地通过http://localhost/websitename

该网站本地工作,并开始工作都是好天。不知道为什么!

0

说已经为我工作的解决方案是一个贴here

<system.web> 
//comment this in local IIS7, on host uncomment 
<httpHandlers> 
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> 
    </httpHandlers> 
</system.web> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    <handlers> 
     <remove name="ChartImageHandler" /> 
     <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
    </handlers> 
    </system.webServer> 

另外,我不得不添加此有关的appSettings

<appSettings> 
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\Temp\;" /> 
</appSettings> 
相关问题