14

以前は機能していた IIS 7.5 で実行されている ASP.NET MVC プロジェクト (ただし、以前のバージョンや MVC 以外のサイトには問題が存在する可能性があります) が 500 内部サーバー エラーを返し始めましたが、静的ハンドラーによって処理されるコンテンツ (画像、ページなど) に対してのみです。コントローラーを介して MVC 自体によって処理されます。

何が原因かはわかっています。他の誰かが同じ問題を抱えている場合に備えて、これを文書化しています。

4

3 に答える 3

33

失敗したリクエストのトレースを有効にし、(膨大な)ログを検索したところ、次のことがわかりました。

 <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 &apos;mimeMap&apos; with unique key attribute 
    &apos;fileExtension&apos; set to &apos;.woff&apos;
  </Data>
 </EventData>

何が起こったかというと、Web フォント (.woff) を提供するための新しい MIME タイプが明示的にサイトに追加されていました。

その後、新しい Mime タイプ (.woff) もグローバル IIS MIME タイプに追加されました。

Web サイトの設定がグローバル設定をオーバーライドする代わりに、例外がスローされていました。

于 2012-12-03T05:11:25.527 に答える
14

IIS/サーバー レベルで既に定義されている場合に備えて、追加する MIME タイプを常に削除します。

<staticContent>
  <remove fileExtension=".otf" />
  <mimeMap fileExtension=".otf" mimeType="application/x-font-otf" />
</staticContent>
于 2015-01-15T00:52:24.277 に答える
3

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日を無駄にしないことを願っています.

于 2013-03-23T06:00:05.763 に答える