2010-01-21 55 views
0

我有我自己無法解決的最奇怪的問題。MVC內容切斷導致空白頁

我有這個ASP.NET MVC 1應用程序,在我的本地開發機器上無懈可擊地使用IIS5。

我做了適當的修改,以獲得通過添加.mvc控制器路由和過濾ASPNET_ISAPI.DLL在http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

記錄MVC對IIS5現在的工作時間來到這個與IIS6部署到Windows Server 2003 。我進行了與上述文檔中所述完全相同的更改。

結果是,當我訪問我的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>等...

我拉我的頭髮了這個,有沒有人在Windows Server 2003的IIS6上部署MVC應用程序時有這個問題?

回答

0

我終於找到原因了!

當它結束時,我有一些<%code%>導致在VIEW中拋出異常。在正常情況下,錯誤會顯示出來。但是我忘了我已經創建了一個自定義的HandleErrorAttribute。在這個處理程序中,我會返回錯誤信息,只是錯誤消息正在返回的是標頭值而不是HTTP輸出流。該處理程序是爲了在AJAX調用期間處理錯誤而編寫的。但在這種情況下,它不是一個AJAX調用。

Duuh me!我一直在這個圈子裏,直到我試了一下,抓住那些看起來可疑的代碼塊。這就是我發現一個例外確實被拋出的原因,這促使我尋找消失的地方!

謝謝你們試圖幫助!

1

網站上是否有其他ISAPI過濾器?如果有其他應用程序與您的網站在同一個應用程序池中運行,請嘗試在另一個應用程序池中運行它。此外,如果您有權訪問服務器,則可能需要檢查事件日誌。

+0

是的。檢查事件日誌。空空如也。它運行在它自己的專用應用程序池中......但是在保存服務器上運行的其他網站(非mvc)也在其自己的池中運行。 – 7wp 2010-01-21 21:09:53