任何使用新的免費圖表控件MS從登打士買的時候得到這個錯誤?.NET 3.5的圖表控制例外:錯誤執行的ChartImg.axd子請求
在MSDN論壇「執行的ChartImg.axd子請求錯誤」他們建議,這是我的web.config: MSDN forum post
到目前爲止,還沒有固定的,雖然這個問題。任何其他想法?
任何使用新的免費圖表控件MS從登打士買的時候得到這個錯誤?.NET 3.5的圖表控制例外:錯誤執行的ChartImg.axd子請求
在MSDN論壇「執行的ChartImg.axd子請求錯誤」他們建議,這是我的web.config: MSDN forum post
到目前爲止,還沒有固定的,雖然這個問題。任何其他想法?
我遇到了同樣的問題:圖表可以在一個頁面上工作,但不能在下一個頁面上工作。如果圖表在POST中第一次被初始化(即回發),則錯誤被拋出,因爲處理程序配置不正確。要解決此問題修改的HttpHandler配置用戶LaptopHeaven提到了這個話題,加入POST謂詞:
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
我已經寫了,爲什麼在MSDN論壇上發帖時出現此錯誤的更透徹的解釋斯科特·安德森在他的這個主題的開幕文章中提到。
我張貼的方式我固定在MSDN論壇這個問題:
嗯,我仍然不知道爲什麼,我居然也得到了異常,但我似乎已經找到了解決辦法。我做了一個實驗,我把應該得罪的web.config並將其複製到我添加了一個新的網絡形式和圖表控件和渲染精細與「UseHttpHandler」選項圖表控件的新項目。這導致我相信它實際上並不是web.config,這是我的情況,所以我回到原始項目並添加了一個圖表作爲實驗的另一個Web表單,並且它工作正常!更令人驚訝的是,在那之後,我去了冒犯的頁面,它也起作用了!然後,我從另一頁上取下新圖表,並檢查了原來的違規頁面,並再次打破。然後,我發現如果我在冒犯頁面之前在任何頁面上放置圖表控件,它將起作用,否則會拋出異常。這些控件是太酷了,雖然我沒有一個問題,找到另外一個頁面放一個在違規網頁:)
這解決了這一問題,但如果任何人有任何的理論,爲什麼我會有興趣的路徑...也許是一個錯誤?
我遇到了這個錯誤,但通過添加元素對System.Web \的HttpHandler我的web.config文件的部分進行校正。我添加了以下內容:
<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" />
只是想指出的是,它也是一個權限問題與圖像未找到錯誤。
設置「允許修改」的權限在您的圖像文件夾(每默認爲「C:\ TempImageFiles」。爲您的網站在其下運行的帳戶
問題消失
請添加它在webconfig中
add verb =「GET,HEAD」path =「ChartImg.axd」type =「System.Web.UI.DataVisualization.Charting.ChartHttpHandler,System.Web.DataVisualization,Version = 3.5.0。0,文化=中性公鑰= 31bf3856ad364e35"
感謝
Basanth
在此更多信息:
我是有在web.config問題的麻煩,以及和糾正通過確保當我將Chart控件拖放到頁面上時,web.config未在代碼編輯器中打開。如果web.config尚未打開,Visual Studio 2010將進行適當的修改。
我能夠成功在成功應用web.config問題後,sfully經過了「執行錯誤的子請求」錯誤。另外關於在MVC應用程序中的使用,我一直在努力在我的MVC 2應用程序(VS2010/.NET 4)中實現這個功能,並且遇到了另一個問題。
頁面對ChartImg.axd的調用導致HTTP 404錯誤。 (我發現這使用提琴手。)
原來,頁面試圖從/MyController/ChartImg.axd而不是/ChartImg.axd(從根目錄)訪問處理程序。
我能夠加入這一行到我的Global.asax.cs文件來解決這個問題:
routes.IgnoreRoute("{controller}/{resource}.axd/{*pathInfo}");
這可能是一些用戶的問題,誰不得不求助於改變Chart.ImageStorageMode屬性。
嘗試(不要忘記在ChartImageHandler關鍵路徑)
<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>
在.NET 4.0中的圖表都內置了,但你仍然可能需要添加下面相似標籤:
<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" />
在IIS 6.0(Server 2003)中,如果缺少httpHandler,則會發生此錯誤(請參閱Previous Answer)
查看堆棧跟蹤,看起來IIS 6.0假定處理程序將會我被加載。它在語句上執行了一個Execute,並且異常被吞下。包括以下屬性(如上所示)在IIS 6.0中的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"/>
注意,我從以前的答案4.0.0.0改變的版本和服務器2008(IIS 7.0)和Server 2003的測試(IIS 6.0)
另一個原因這個問題可能是因爲應用程序池被設置爲「經典」模式。我的處理程序配置正確,但我得到相同的錯誤。
<add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
只要我將應用程序池切換到「集成」模式。圖表控件開始正常工作。
另請注意,將圖表控件從工具箱拖動到頁面上時,應該在web.config中創建必要的條目,但這種情況只發生在,如果您當時處於設計模式。
如果您處於源代碼模式並拖放它不會發生。
而且,必須有某種形式的註冊,當您添加一個圖表控件在設計模式出現在項目/ class文件。因爲如果您處於源代碼模式並且使用圖表控件,則不會像上面那樣獲取web.config中的條目。如果您然後進入設計模式,並從工具箱進入頁面,您將在web.config中獲得條目。
但是,如果刪除圖表時,您在設計模式下進行了轉向,它將從web.config(假設單個頁面站點)擦除條目,即使您仍然在頁面上有其他圖表控件轉向源模式。
所以不,你不瘋了,它只是不直觀。 ;)
此問題已通過在webconfig中添加chatImageHandler解決。
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<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>
這就是答案,當您使用MVC時,您可以將所有處理程序添加到最外層網絡配置中。<。 – 2010-10-15 09:48:58
+1:太棒了,謝謝! – 2010-10-19 22:23:47