2016-05-25 4 views
0

Я переместил решение с одной машины на другую, и у меня есть кошмары. У меня осталась одна проблема. Страница по умолчанию не может быть подана, она говорит, что ресурс не найден. У меня есть маршрутConfig.csРесурс не найден (MVC)

routes.MapRoute("Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }); 

Я получаю Ресурс не может быть найден.

я могу получить доступ к странице по умолчанию путем: - Другие вопросы, кажется, не ответить на него

http://example.com/home/index

.

EDIT: Если я поставил вышеприведенную строку кода в верхней части кода маршрутизации, страница по умолчанию работает, но на других страницах нет. Если я поместил код внизу, другие страницы будут работать, но страница по умолчанию - нет.

+1

Это может быть конфигурация IIS – DanielVorph

+0

Проблема возникает как на машине dev, так и на сервере общего доступа. Проблема возникла, когда я заменил dev-машины, но файл routeeconfig.cs был скопирован точно. – MiscellaneousUser

ответ

0

Проблема заключалась в том, что у меня было два правила конфигурации, указывающие на один и тот же адрес. Одно из других правил указывало на неправильный контроллер. Неправильный контроллер ошибся, потому что я настроил действие, я использовал имя контроллера в качестве действия, то есть нет-нет. Вышеупомянутое правило было правильным, но неправильное правило было

routes.MapRoute(
      name: "pagelist", 
      url: "pagelist", 
      defaults: new { controller = "pagelist", action = "pagelist", id = UrlParameter.Optional } 
      ); 

действие должно было быть индексом.

0

Try взгляд в свойствах есть вкладка «Web» вы были кот выбрал сервер и URL проекта, надеюсь

+0

Можете ли вы рассказать о том, что мне нужно искать? – MiscellaneousUser

0

Если только по умолчанию маршрутизации на RouteConfig файла в компьютере для разработки и продолжать получать 404, кажется, что ваша проблема происходит из настроек виртуального пути проекта.

http://forums.asp.net/t/1893154.aspx?The+resource+cannot+be+found+404

Если приложение развернуто на локальном хосте (или вы установили Использовать локальный IIS веб-сервера), то это означает, что вы создали виртуальный каталог с именем «YourSite».

Щелкните правой кнопкой мыши ваш проект приложения на VS, выберите «Свойства», затем перейдите в раздел «Веб» и установите виртуальный путь своего сайта на «Project Url».

Для решения проблемы виртуального каталога на реальном сервере IIS см. here, чтобы добавить виртуальный каталог в машину назначения перед развертыванием приложения.

Кроме того, если у вас есть настраиваемое правило маршрутизации, убедитесь, что пользовательский маршрут установлен правильно поверх правила маршрутизации по умолчанию.

Смежные вопросы