ошибка при запуске asp.net готовый проект mvc 2 в версии vs 2010

StackOverflow https://stackoverflow.com/questions/1600961

Вопрос

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

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

есть какие-нибудь идеи о том, как это отладить?

Это было полезно?

Решение

Попробуйте добавить страницу по умолчанию в формате 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);
        }
    }
}

Другие советы

Вам не нужно добавлять страницу 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 ( их нет в пустом проекте ), а затем создать представление. для действия Index тоже.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top