ASP.NET Routing не запускается при публикации сайта на удаленном хосте - PullRequest
2 голосов
/ 05 февраля 2010

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

Есть идеи?!

(сайт по-прежнему будет нормально работать с ASPX-страницами)

Я думаю, что проблема может быть связана с Смешиванием ASP.NET MVC в ASP.NET WebForms

Но я не вижу по этой теме, каким было решение. Похоже, что это может быть что-то делать с режимом app_pool - но я работаю в интегрированном режиме, который является правильным AFAIK

ОБНОВЛЕНИЕ 2

Так что я думаю, что у меня работает маршрутизация. Я в основном создал новое приложение MVC, построчно просматривал файл конфигурации web и убедился, что у меня есть все, что мне нужно. Как ни странно, ни один из онлайн-уроков не упоминает правильные дополнения, которые вам нужно сделать. Хей-хо.. У меня есть еще одна проблема ... Когда я загружаю свою страницу MVC, меня приветствует сообщение: SessionStateTempDataProvider требует, чтобы SessionState был включен.

Я добавил строку в web.config для включения сессий (не знал, что они отключены), и она все еще не работает.

UPDATE Я создал новый MVC-проект asp.net и в конечном итоге проходил через web.config построчно и следил за тем, чтобы все, что связано с MVC, было включено в мое гибридное приложение. Достаточно сказать, что ни в одном из руководств не указаны все необходимые настройки (я использовал книгу professional asp.net mvc 1.0). Затем я включил файл global.asax, который не был опубликован, и настроил маршрут так, чтобы запрос / не был перехвачен MVC. Мне также пришлось включить сеансы в web.config.

И теперь это работает!

Должен ли я отметить этот вопрос как ответ ... не уверен в протоколе здесь:)

1 Ответ

1 голос
/ 08 февраля 2010

Я проходил через то же самое, потому что развертывал со скомпилированными представлениями.Я не знаю почему, но global.asax не включен в папку Release, которую я загрузил.Я просто подумал, что он был скомпилирован в одну из DLL.Я получил 404 за все, поэтому я попытался загрузить global.asax, и сайт ожил.

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