ошибка при запуске asp.net готовый проект mvc 2 в версии vs 2010
-
05-07-2019 - |
Вопрос
я создал новое решение, и оно прекрасно создает 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 разрешена правильная версия фреймворка.