2013-04-14 31 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> 
相關問題