14

IIS 6 に展開するときに、asp.net mvc ベータ版から 404 エラーを回避するのに苦労しています。IIS で .mvc をマッピングすることにより、プレビューの 1 つでこれが機能していましたが、これは機能しなくなりました。私はWeb でOmar の投稿と他のいくつかの投稿を読み、その解決策を試しましたが、今のところうまくいきません。

ホームページは IIS 6 では問題なく開きますが、その他は 404 で、サイトは IIS 7 で問題なく動作します。

asp.net mvc ベータ版を IIS 6 にデプロイして成功した人はいますか? もしそうなら、それを機能させるために、コードや IIS 設定にどのような調整を加える必要がありましたか?

4

3 に答える 3

26

私はSteveSandersonのブログ(Thanks Steve)から私の問題の解決策を見つけました:

にはワイルドカードマッピングを使用しaspnet_isapi.dllます。これにより、IIS 6はASP.NETを使用してすべての要求を処理するように指示されるため、ルーティングは常に呼び出され、問題はありません。セットアップはとても簡単です。

  • IISマネージャーを開きます([実行]-> [inetmgr]-> [OK])
  • アプリを右クリックして、[プロパティ]に移動します
  • 次に[ホームディレクトリ]タブをクリックし、[構成]をクリックします。
  • [ワイルドカードアプリケーションマップ]で、[挿入]をクリックします(すぐ上にある混乱を招く[追加]ではありません)。
  • 次に、「Executable」にC:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dllと入力し、[ファイルが存在することを確認する]チェックボックスをオフにします。
于 2008-10-27T15:36:35.690 に答える
5

まだコメントが書けないようです。だから私は新しい答えを書きます。

スタックオーバーフローでも同様の質問がいくつかあります。私はMVC 3を使用しています。質問がMVC 2に関連していたことは知っています。しかし、これは私が遭遇した最初のスタックオーバーフローの投稿であるため、言及する価値があると思います:

  • MVC 3 を使用する場合、.NET 4 フレームワークの実行可能ファイル (C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll) を使用して、新しい拡張マッピングを追加する必要があります。

<edit>拡張子のマッピングを設定する必要さえないことがわかりました。</編集>

  • それでもうまくいきませんでした:) IISのWebサービス拡張セクションでASP.NET v4.0.30319を「許可」する必要がありました。
    • IIS を開く
    • サーバーノードをクリックします
    • Web サービス拡張セクションを開きます
    • ASP.NET v4.0... を選択します。
    • 右クリック --> 許可する Good to go!
于 2011-01-04T15:07:02.060 に答える
1

URLの書き換えは、問題の解決に役立ちます。仮想ホスティングが使用されている場合でも、任意のIISバージョンでMVCアプリケーションを展開できるソリューションを実装しました。 http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

于 2009-11-24T06:22:24.487 に答える