ASP.net MVC на IIS 7 возвращает пустую страницу - PullRequest
8 голосов
/ 10 марта 2010

У меня возникли проблемы с развертыванием приложения ASP.net MVC 2 RC 2 в моей рабочей коробке. У меня это хорошо работает как в dev, так и в test. Ключевое различие заключается в том, что производственная версия еще не была обновлена ​​до IIS 7.5. Когда я захожу на сайт, я просто получаю пустую страницу, как описано в Я получаю пустую страницу при развертывании приложения MVC на IIS .

Я пробовал большинство перечисленных там вещей безрезультатно. Я попытался использовать как интегрированные, так и классические конфигурации для .net 4 и попытался перейти к определенному контроллеру и действию на тот случай, если это было связано с файлом по умолчанию. То, что я попробовал, как ни странно, сработало, изменив маршрутизацию так, чтобы он использовал расширения .mvc, как можно было бы сделать для IIS6. Я хотел бы избежать этого. Я добавил логирование в application_error, но там ничего не добавляется. У меня на самом деле есть приложение ASP.net MVC 1 на той же машине, которое работает нормально. Я также попытался вставить документ по умолчанию, как в моем приложении asp.net mvc 1

        string originalPath = Request.Path;
        HttpContext.Current.RewritePath(Request.ApplicationPath, false);
        IHttpHandler httpHandler = new MvcHttpHandler();
        httpHandler.ProcessRequest(HttpContext.Current);
        HttpContext.Current.RewritePath(originalPath, false);

Это работало нормально для документа /, но любые ссылки на него по-прежнему возвращали пустую страницу.

Кто-нибудь понял, что я должен делать?

Ответы [ 3 ]

26 голосов
/ 24 ноября 2010

Службы «HTTP-ошибки» и «HTTP-перенаправление» необходимо добавить в роль «Веб-сервер (IIS)» на панели управления «Диспетчер серверов». Если вы хотите, чтобы статический контент, такой как CSS и Javascript, работал, также включите сервис «Статический контент».

1 голос
/ 22 октября 2014

Просто подумал, что добавлю еще одну причину, по которой IIS / MVC может вернуть пустую страницу ... предположим, у вас есть удостоверение пула приложений, которое авторизовано для базы данных SQL. Теперь предположим, что у вас есть две разные личности, одна для производства, а другая для предварительного производства. Теперь предположим, что один из ваших уважаемых коллег решает восстановить базу данных из рабочей базы, а не той, которая существует в предварительной версии. Теперь у вас есть копия базы данных prod в pre-prod, которая авторизована для рабочего пользователя, но не для предварительного пользователя. В этой ситуации я получал пустые страницы в предсерийном производстве, потому что авторизация для опытного пользователя (который ранее существовал в предсерийной базе данных) была теперь уничтожена восстановлением базы данных. Поскольку этот идентификатор пользователя является идентификатором пула приложений, теперь ваше приложение MVC больше не имеет прав на базу данных. Это заставило MVC отображать пустые страницы и заставило меня два дня гоняться за хвостом, потому что я думал, что кто-то изменил некоторые настройки IIS на веб-сервере, но на самом деле это была проблема с разрешениями базы данных. Возможно, это даст ключ к тому, кто столкнется с подобной проблемой в будущем.

0 голосов
/ 20 июля 2016

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

Я заархивировал папку с программой, используя 7-Zip, и перенес ее на сервер prod. Когда я распаковал его, файл web.config в папке Views был добавлен как папка с именем web.config и файлом конфигурации внутри. Перемещение файла и удаление папки сортировали это для меня.

Подсказка была в окне просмотра событий, поэтому проверьте также, не помогают ли другие ответы.

Теперь для меня больше нет пустой страницы.

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