質問
マイクオーモンドの例に従って、 ASP.NET ルーティングを使用して基本的なサイトを作成しました「MVCに依存しないASP.NETルーティングの使用」。これは、内蔵Webサーバーを実行しているローカルマシンで正常に機能します。
ただし、サーバーに展開すると( Windows Server 2003 、 IIS 6、ASP.NET 3.5 SP1)404エラーが表示されるだけです。
どこかで、ワイルドカードルーティングを設定するつもりであると読みました。どうすればいいですか?
サーバー上で機能させるには、他にどのような設定変更が必要ですか?
解決
スティーブサンダーソンのブログ投稿" IIS 6へのASP.NET MVCの展開。"
他のヒント
サーバーで、IISを開きます:
- サイト/仮想ディレクトリを右クリックして、プロパティを選択します
- [ホームディレクトリ] / [仮想ディレクトリ]タブに移動し、[設定](下部近く)をクリックします
- もう一度下の近くにある挿入ボタンをクリックします
- C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dllを入力
- 代替:ASP.NET 4.0の場合は C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll と入力します
- チェックを外す"ファイルが存在することを確認する"ボタン、[OK]をクリックしてすべてのダイアログを閉じます
「公式」を見つけることができます; TechNetはこちらですが、こちらをご覧ください。 ASP.NET MVC の設定に関する議論であるという事実を心配する必要はありません。 、「IIS6 Extension-less URLs」というタイトルのセクションを探してください。 -この設定は、MVCと従来のウェブフォームでのルーティングの使用の両方に適用されますアプリケーション。
IIS 6 64ビットでは、4。)の下のパスが C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_isapi.dll
URLの書き換えは、問題の解決に役立ちます。仮想ホスティングを使用している場合でも、任意のIISバージョンでMVCアプリケーションを展開できるソリューションを実装しました。 http://www.codeproject.com/KB/aspnet/ iis-aspnet-url-rewriting.aspx