テスターですが何か?

ホビープログラマ略してHPです

ASP.NET4.0で500.23エラー

leave a comment »

前回のエントリでデプロイしたWebアプリケーションを実行したら、こんなエラーが。

image

————————————————-
エラーの概要
————————————————-
HTTP エラー 500.23 – Internal Server Error
ASP.NET 設定が、統合されたマネージ パイプライン モードで適用されないことが検出されました。

————————————————-
エラー情報の詳細
————————————————-
モジュール ConfigurationValidationModule
通知 BeginRequest
ハンドラー StaticFile
エラー コード 0x80070032
要求された URL http://localhost:80/pointchanweb/
物理パス C:inetpubwwwrootPointChanWeb
ログオン方法 未定義です
ログオン ユーザー 未定義です

————————————————-
可能性のある問題
————————————————-
このアプリケーションでは、system.web/httpHandlers セクションで構成が定義されます。

————————————————-
対処方法
————————————————-
構成を system.webServer/handlers セクションに移行します。この手順は手動で実行することも、コマンド ラインから AppCmd を使用して実行することもできます。(例 %SystemRoot%system32inetsrvappcmd migrate config "Default Web Site/")。AppCmd を使用してアプリケーションを移行すると、アプリケーションが統合モードで動作できるようになり、なおかつ、クラシック モードおよび以前のバージョンの IIS でも引き続き動作します。

このエラーを無視しても問題ない場合は、system.webServer/validation@validateIntegratedModeConfiguration を false に設定して無効にできます。

または、アプリケーションをクラシック モード アプリケーション プールに切り替えます (例 appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool")。
これは、アプリケーションを移行できない場合にのみ行ってください。("Default Web Site" および "Classic .NET AppPool" を、アプリケーションのパスおよびアプリケーション プールの名前に設定します)  リンクと詳細情報統合モードは、IIS 7.0 以降でASP.NET アプリケーションを実行するときに推奨されるモードです。

Webで調べてみるとASP.NET 4.0でchartコントロールを使用していると、ASP.NET 2.0との互換性に引っかかってエラーになってしまうようです。

参考URL

http://ameblo.jp/alalunga/entry-10630315087.html

http://technet.microsoft.com/ja-jp/library/ff454090.aspx

対応としてはWeb.configにvalidateIntegratedModeConfiguration=false を追加しました。

【変更前】

<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>

【変更後】

<system.webServer>
  <!– add for 500.23 Error –>
  <validation validateIntegratedModeConfiguration="false" />
  <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>

Written by david9142

2010年9月19日 @ 5:06 AM

カテゴリー: ASP.NET

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。