Ошибка запуска проекта asp.net MVC 2 из коробки в версии 2010 - PullRequest
5 голосов
/ 21 октября 2009

Я создал новое решение, и оно создает прекрасный таргетинг-фреймворк 4.0, но когда я его запускаю, появляется мой браузер с сообщением:

Ресурс не найден. Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен. Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно. Запрашиваемый URL: /

есть идеи как это отладить?

Ответы [ 3 ]

5 голосов
/ 25 ноября 2009

Попробуйте добавить страницу default.aspx, которая поставляется с шаблоном проекта asp.net mvc 1.0. У меня была похожая проблема при запуске mvc 2 из коробки на компьютере с IIS 5 (XP), и это помогло.

Default.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);
        }
    }
}
2 голосов
/ 17 ноября 2010

Вам не нужно добавлять страницу default.aspx, описанную выше.

Браузер отобразит это сообщение 404, если вы добавите и запустите новое Пустое приложение ASP.NET MVC 2 «из коробки».

Это из-за маршрута по умолчанию, определенного в 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 ( их нет в пустом проекте ), а затем создать представление для Индексное действие тоже.

0 голосов
/ 01 декабря 2009

Я предполагаю, что вам нужно перерегистрировать или включить фреймворк под IIS. Попробуйте запустить aspnet_regiis из соответствующего дерева фреймворка и / или убедиться, что в веб-расширениях IIS разрешена правильная версия фреймворка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...