5

私は新しいソリューションを作成し、適切なターゲティング フレームワーク 4.0 をビルドしますが、それを実行すると、ブラウザが次のように表示されます。

リソースが見つかりません。説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。要求された URL: /

これをデバッグする方法についてのアイデアはありますか?

4

3 に答える 3

5

asp.net mvc 1.0 プロジェクト テンプレートに付属する default.aspx ページを追加してみてください。IIS 5(XP)を搭載したコンピューターでmvc 2をすぐに実行すると、同様の問題が発生しましたが、それでうまくいきました。

デフォルト.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="YourNamespace.Website.Default" %>

<%-- Please do not delete this file. It is used to ensure that ASP.NET MVC is activated by IIS when a user makes a "/" request to the server. --%>

Default.aspx.cs:

using System.Web;
using System.Web.Mvc;
using System.Web.UI;

namespace YourNamespace.Website
{
    public partial class Default : Page
    {
        public void Page_Load(object sender, System.EventArgs e)
        {
            // Change the current path so that the Routing handler can correctly interpret
            // the request, then restore the original path so that the OutputCache module
            // can correctly process the response (if caching is enabled).
            string originalPath = Request.Path;
            HttpContext.Current.RewritePath(Request.ApplicationPath, false);
            IHttpHandler httpHandler = new MvcHttpHandler();
            httpHandler.ProcessRequest(HttpContext.Current);
            HttpContext.Current.RewritePath(originalPath, false);
        }
    }
}
于 2009-11-25T04:56:46.083 に答える
2

上記の default.aspx ページを追加する必要はありません。

新しい空のASP.NET MVC 2 アプリケーションを「すぐに」追加して実行すると、ブラウザにこの 404 メッセージが表示されます。

これは、global.asax で定義されている既定のルートが原因です。

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

Home という名前のコントローラーと Index という名前のアクションを探していることがわかります。

新しいのプロジェクトを作成するときは、Home コントローラーと Index アクションを作成し (空のプロジェクトにはありません)、Index アクションのビューも作成します。

于 2010-11-17T12:07:12.277 に答える
0

私の推測では、IIS でフレームワークを再登録または有効にする必要があります。適切なフレームワーク ツリーから aspnet_regiis を実行してみてください。また、適切なフレームワーク バージョンが IIS Web 拡張機能で許可されていることを確認してください。

于 2009-12-01T20:28:09.353 に答える