Kobarin's Development Blog

C#やASP.NET、公開APIなどについての記録です。

Microsoft Chartコントロールで「ChartImg.axd の子の要求を実行中にエラーが発生しました」のエラーに対する対策

ASP.NETでMS Chartコントロールを使用して実行しようとした際、以下の様なエラーに遭遇する事があります。2種類まとめて書いてしまいます。

ChartImg.axd の子の要求を実行中にエラーが発生しました。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。
エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.Web.HttpException: ChartImg.axd の子の要求を実行中にエラーが発生しました。

要求の種類 'POST' の http ハンドラが見つかりませんでした。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。
エラーに関する詳細および例外の発生場所については、 スタック トレースを参照してください。
例外の詳細: System.Web.HttpException: 要求の種類 'POST' の http ハンドラが見つかりませんでした。

自分の場合、開発を進めていると突如このエラーに見舞われ、それまで正常に実行できていたページのChartまで同様のエラーで動かなくなりました。


冒頭のエラーメッセージでググると、幸い以下のサイトが発見でき、無事に解決できました。


みみたんのメモWiki - プログラミング/CSharp/ASP.NET/Microsoft Chart Controls - @ウィキモバイル


よくまとめられているため補足の必要はありませんが、自分のおこなった対策を簡単にまとめてみました。
基本的に、web.config内の記述がポイントになるようです。

  1. 内に以下の行を追加(または書き換え)。
  2. 内に以下の行を追加(または書き換え)。
  3. 内に以下の行を追加。

    (dirを実在するディレクトリを書きなおす)

自分の環境ではPostback実行後にChartを実行していたため、1と2で「GET,HEAD,POST」と書きなおす必要がありました。