Содержание MVC обрезано, в результате чего пустая страница - PullRequest
0 голосов
/ 21 января 2010

У меня самая странная проблема, которую я сам не могу решить.

У меня есть это приложение ASP.NET MVC 1, которое безупречно работает на моей локальной машине разработки с использованием IIS5.

Я внес соответствующие изменения, чтобы заставить MVC работать на IIS5, добавив маршрут для контроллеров .mvc и фильтр aspnet_isapi.dll, как описано в http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

Теперь пришло время развернуть это на Windows Server 2003 с IIS6. Я сделал точно такие же изменения, как описано в документе выше.

В результате, когда я получаю доступ к своему представлению MVC, оно работает в том смысле, что оно не выдает никаких ошибок, но страница пуста! Я искал ошибки в журнале событий или веб-журнале IIS, ничего.

при ближайшем рассмотрении я использовал «просмотр источника» через firefox, и для моей пустой страницы на сервере вот что я получаю:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><title>

</title>

<style type="text/css">
/*margin and padding on body element
can introduce errors in determining
element position and are not recommended;
we turn them off as a foundation for YUI
CSS treatments. */
body {
margin:0;
padding:0;
}
</style>   

<!--BEGIN: Styles-->   

Вот и все, контент просто отключается после <!--BEGIN: Styles-->. Когда я сравниваю то, что получаю, когда я «просматриваю источник» на той же странице, работающей на моем локальном компьютере, где он работает, все вышеперечисленное присутствует, но различие заключается в том, что после <!--BEGIN: Styles--> содержимое продолжается с остальной частью HTML, такой как внешние CSS-включения и внешние Javascript-включения, за которыми следуют <BODY> и т.д ...

Я не справляюсь с этим, кто-нибудь сталкивался с такой проблемой при развертывании приложения MVC на IIS6 в Windows Server 2003?

Ответы [ 2 ]

1 голос
/ 21 января 2010

Есть ли на сайте другие фильтры ISAPI? Если в том же пуле приложений, что и на вашем веб-сайте, запущены другие приложения, попробуйте запустить его в другом пуле приложений. Также, если у вас есть доступ к серверу, вы можете проверить журнал событий.

0 голосов
/ 22 января 2010

Я наконец нашел причину!

Как только он отключится, у меня есть <% code%>, который вызывает исключение в VIEW. При нормальных обстоятельствах ошибка появится. Однако я забыл, что создал собственный HandleErrorAttribute. В этом обработчике я возвращаю ошибку, за исключением того, что сообщение об ошибке возвращается в значении заголовка, а не в потоке вывода HTTP. Этот обработчик был написан с целью обработки ошибок во время вызовов AJAX. Но в данном случае это был не AJAX-вызов.

Duuh меня! Я ходил кругами с этим до тех пор, пока не поставил Try, Catch вокруг блока кода, который показался мне подозрительным. Вот как я обнаружил, что действительно было выброшено исключение, которое побудило меня выследить, где происходит изъятие! ​​

Спасибо, ребята, что пытались помочь!

...