MVC アプリを IIS6 にデプロイしようとして、レンガの壁に頭をぶつけています (リンクされた質問)
当面はワイルドカード マッピングを廃止し、.mvc 拡張子を機能させようとしています。IIS ですべてが正しく構成され、.mvc 拡張子がすべての動詞タイプの .NET dll を指しています (存在するかどうかを確認するオプションのチェックを外します)。
要求を行うたびに、取得するのは .NET 404 ページだけです。/Home.mvc と /Home.mvc/Index はすべてそのページを返します。
デフォルトの Web.config に変更を加えておらず、すべてのルートが拡張なしおよび拡張ベースの同等のもので構成されています。
この構成が機能するようになったすべての読者にとって、この構成がいかに簡単であるか (サウンド) に感謝します。IIS6 を使用して別のサーバーに展開しようとしたところ、同じ問題が発生しました。
ルーティング モジュール/ハンドラーが要求を完全に欠落し、標準の .NET 404 エラーに陥る理由が他にあるでしょうか? 奇妙な許可?
IIS 404 エラーについては、カスタム エラー設定を更新して、サイトのルートで Default.aspx ページを呼び出すようにしました。これは、Visual Studio で生成された MVC ベータ テンプレートの既定のページであり、コード ビハインドで次のことを行います。
HttpContext.Current.RewritePath(Request.ApplicationPath);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
これにより、以前の投稿のエラーが表示されます。
[HttpException (0x80004005): The incoming request does not match any route.]
System.Web.Routing.UrlRoutingHandler.ProcessRequest(HttpContextBase httpContext) +15589
System.Web.Routing.UrlRoutingHandler.ProcessRequest(HttpContext httpContext) +40
System.Web.Routing.UrlRoutingHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +7
......