Страница ASP.NET MVC не загружается и говорит: «Ресурс не найден» - PullRequest
29 голосов
/ 21 мая 2009

У меня проблема с тем, что я пытаюсь открыть приложение ASP.NET MVC, но я получаю страницу ошибки ASP.NET, которая говорит следующее:

Ошибка сервера в приложении '/'.

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

Запрошенный URL: /EventScheduler/account.aspx/login

Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.3053; ASP.NET версия: 2.0.50727.3053 **

Я использую трюк с URL из этого сообщения в блоге, и поэтому у меня есть .aspx в URL:

http://blog.codeville.net/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/

Он работает на моем другом сервере-песочнице (не на машине разработчика), и теперь я просто развернул его на своем рабочем сайте в качестве нового виртуального каталога, но по какой-то причине кажется, что он действительно ищет файл .aspx.

Есть идеи? Я думаю, что я должен забыть шаг.

Ответы [ 17 ]

14 голосов
/ 07 июня 2013

Я нашел решение этой проблемы, вам не нужно удалять global.asax, так как он содержит некоторую ценную информацию для бесперебойной работы вашего проекта, вместо этого посмотрите на имя вашего контроллера, в моем случае мой Контроллер был назван как MyController.cs, а в global.asax он пытается сослаться на Home Controller.

Ищите эти строки в глобальном asax

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

в моем случае я должен был заставить это работать

    new { controller = "My", action = "Index", id = UrlParameter.Optional }
12 голосов
/ 27 июля 2011

Я получил ту же ошибку при сборке. По умолчанию используются параметры URLRoute для навигации. Если вы выберете свойство «Сделать стартовой страницей», щелкнув правой кнопкой мыши любую страницу cshtml, это вызовет эту ошибку, поскольку всегда есть маршрутизация на текущую страницу в файле Global.asax.

Просмотрите свойства проекта для пути запуска и удалите его.

5 голосов
/ 21 мая 2009

Убедитесь, что вы не говорите IIS проверить и проверить, существует ли файл перед его передачей Этот укусил меня пару раз. Сделайте следующее:

Открыть диспетчер IIS. Щелкните правой кнопкой мыши на своем веб-сайте MVC и выберите свойства. Откройте вкладку Виртуальный каталог. Нажмите кнопку Конфигурация ... Под картами приложения Wildcard убедитесь, что у вас есть сопоставление с c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll. УБЕДИТЕСЬ, «Убедитесь, что файл существует» НЕ ПРОВЕРЕНО!

4 голосов
/ 10 июня 2009

Если вы используете IIS 6 и выше, убедитесь, что приложение объединяет ваше приложение MVC. используется установлен на Интегрированный Режим управляемого конвейера. Я по ошибке установил мой классический, и произошла та же ошибка.

3 голосов
/ 21 июня 2016

Страница не найдена, потому что связанный контроллер не закрывается. Просто создайте определенный контроллер. Если вы попытаетесь показать домашнюю страницу и используете Visual Studio 2015, выполните следующие действия:

  1. Щелкните правой кнопкой мыши папку «Контроллер» и выберите «Добавить»> «Контроллер»;
  2. Выберите MVC 5 Controller - Пусто;
  3. Нажмите в Добавить;
  4. Поставьте HomeController для имени контроллера;
  5. Постройте проект и после Запустите ваш проект снова

Надеюсь, это поможет

1 голос
/ 07 июня 2017

Необходимо обеспечить две вещи:

1) Route должно быть правильно в Global.ascx файле

2) Не забудьте добавить ссылку Controller Project в ваше Web Project ( представление находится в отдельном проекте от контроллера )

Второй случай - мой.

1 голос
/ 05 февраля 2017

Вам следует внимательно просмотреть значения вашего маршрута.

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

В этом случае убедитесь, что у вас есть «Домашний» контроллер, так как приложение не загрузится, если не будет HomeController с Index Action. В моем случае у меня был HomesController, и я пропустил «s» перед домом. Я исправил несоответствие имени, и это решило проблему как в моей локальной среде, так и на моем сервере.

1 голос
/ 04 августа 2016

Я получил ту же ошибку при создании приложения MVC.
В моем случае это произошло потому, что я забыл добавить строку «Контроллер» в название моего контроллера.

Ошибка с

public class ProductType : BaseController
{
    public ProductType()
    {
    }
}

Решено

public class ProductTypeController : BaseController
{
    public ProductTypeController ()
    {
    }
}
1 голос
/ 02 августа 2010

Была такая же проблема, в моем случае причина была в том, что в папке виртуального каталога отсутствовал файл web.config.

0 голосов
/ 21 мая 2018

После нескольких часов отладки это была просто ошибка c # в моем представлении html. Проверьте ваш взгляд и отследите любую ошибку

Не комментируйте код c # в стиле html, т.е.

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