以前は機能していた IIS 7.5 で実行されている ASP.NET MVC プロジェクト (ただし、以前のバージョンや MVC 以外のサイトには問題が存在する可能性があります) が 500 内部サーバー エラーを返し始めましたが、静的ハンドラーによって処理されるコンテンツ (画像、ページなど) に対してのみです。コントローラーを介して MVC 自体によって処理されます。
何が原因かはわかっています。他の誰かが同じ問題を抱えている場合に備えて、これを文書化しています。
以前は機能していた IIS 7.5 で実行されている ASP.NET MVC プロジェクト (ただし、以前のバージョンや MVC 以外のサイトには問題が存在する可能性があります) が 500 内部サーバー エラーを返し始めましたが、静的ハンドラーによって処理されるコンテンツ (画像、ページなど) に対してのみです。コントローラーを介して MVC 自体によって処理されます。
何が原因かはわかっています。他の誰かが同じ問題を抱えている場合に備えて、これを文書化しています。
失敗したリクエストのトレースを有効にし、(膨大な)ログを検索したところ、次のことがわかりました。
<EventData>
<Data Name="ContextId">{00000000-0000-0000-3700-0080010000FC}</Data>
<Data Name="ModuleName">CustomErrorModule</Data>
<Data Name="Notification">536870912</Data>
<Data Name="HttpStatus">500</Data>
<Data Name="HttpReason">Internal Server Error</Data>
<Data Name="HttpSubStatus">19</Data>
<Data Name="ErrorCode">2147942583</Data>
<Data Name="ConfigExceptionInfo">
\\?\C:\Websites\xxx\www\web.config ( 58) :Cannot add duplicate collection
entry of type 'mimeMap' with unique key attribute
'fileExtension' set to '.woff'
</Data>
</EventData>
何が起こったかというと、Web フォント (.woff) を提供するための新しい MIME タイプが明示的にサイトに追加されていました。
その後、新しい Mime タイプ (.woff) もグローバル IIS MIME タイプに追加されました。
Web サイトの設定がグローバル設定をオーバーライドする代わりに、例外がスローされていました。
IIS/サーバー レベルで既に定義されている場合に備えて、追加する MIME タイプを常に削除します。
<staticContent>
<remove fileExtension=".otf" />
<mimeMap fileExtension=".otf" mimeType="application/x-font-otf" />
</staticContent>
Godaddy.ocm共有ホスティングにMVC 3.0アプリケーションをデプロイするときに、この500内部サーバーエラーを最終的に解決しました
どういうわけか、参照されている DLL のバージョンと web.config で言及されているバージョンに不一致がありました。
さまざまなフォーラムで言及されているすべてのオプションを試してみました。誰もが同じ種類の修正を提案しましたが、何も役に立ちませんでしたが、どういうわけか私のシナリオではうまくいきませんでした。ついに2日間頭を叩いた後。すべてのdll参照を削除し、プロジェクトからweb.cofig(ローカルコピーを作成)を削除し、アプリケーションにエラーをスローさせてから、dllを1つずつ追加してlocal = trueにコピーすることにしました。すべてのdllが追加された後。新しいasp.net mvcアプリケーションを作成し、新しいアプリのweb.configを実際のアプリにコピーしました。私の実際のアプリには新しいweb.configがあり、保存したweb.configのローカルコピーから接続文字列とその他の参照をコピーしました。
アプリケーションをコンパイルしてローカル フォルダーに公開し、公開されたフォルダーを goDaddy に FTP 送信します。
それはうまくいき、最終的に私の問題は解決しました
これが人々を助け、私のように2日を無駄にしないことを願っています.