一部が Web フォーム (Umbraco CMS) で一部が MVC であるサイトがあります。これは、MVC 機能を処理するための HttpHandler です。
public class Mvc : MvcHttpHandler
{
protected override void ProcessRequest(HttpContext httpContext)
{
httpContext.Trace.Write("Mvc.ashx", "Begin ProcessRequest");
string originalPath = httpContext.Request.Path;
string newPath = httpContext.Request.QueryString["mvcRoute"];
if (string.IsNullOrEmpty(newPath))
newPath = "/";
httpContext.Trace.Write("Mvc.ashx", "newPath = "+newPath );
HttpContext.Current.RewritePath(newPath, false);
base.ProcessRequest(HttpContext.Current);
HttpContext.Current.RewritePath(originalPath, false);
}
}
実装方法の詳細はこちら この方法は、MVC 1.0 Web サイトでうまく機能します。ただし、 Microsoft のアップグレード ドキュメントの手順に従って、このサイトを MVC 2.0 にアップグレードすると、実行時にこの例外が発生することを除いて、すべてがコンパイルされます。
「/」アプリケーションでサーバー エラーが発生しました。
リソースが見つかりません。
説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。要求された URL: /mvc.ashx
バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.4927; ASP.NET バージョン:2.0.50727.4927
このリソースとその依存関係は、MVC 1.0 では正常に検出されましたが、MVC 2.0 では検出されませんでした。追加する必要がある追加の依存関係はありますか? 足りないものはありますか?MVC 2.0 の動作に変更はありますか?