2009-02-09 69 views
0

當我們將MVC beta升級到MVC RC1時,Visual Studio的開發Web服務器在應用程序的某個點突然崩潰。經過一番搜索我縮小了臭蟲這個簡單的一行:當升級到MVC測試版到RC1時,應用程序突然崩潰,應該不會崩潰

if (!helper.ViewData.ContainsKey("SomeString")) 

SomeString是目前在ViewData的那一刻,所以當該行執行的Web服務器崩潰,如果語句應返回false

,沒有exeption在節目中。我們看到似乎來自方法ContainsKey的崩潰。有人遇到同樣的問題嗎?我們應該將我們的安全性回滾到MVC測試版嗎?

回答

0

我發現了這個問題。執行ContainsKey方法的代碼位於外部庫中。當我們將開發機器升級到RC1時,我們忘了將我們的構建服務器升級到RC1。因此,我們引用的庫是通過引用mvc beta構建的。我仍然感到奇怪的是,這些錯誤可能會發生,但這是問題所在。

當我們升級我們的構建服務器時,錯誤消失了。

0

我不知道答案,但我可以告訴你如何找到它。我的經驗是,當開發Web服務器崩潰時,通常是因爲代碼中的堆棧溢出(或者顯然,您正在調用的框架中的代碼)。您當然可以從CodePlex獲取MVC源代碼。您應該下載並將其添加到您的解決方案中。跟蹤到ContainsKey。如果需要,使用Visual Studio選項追蹤.NET框架源代碼。在某個時候,你應該弄清代碼爲什麼會逆轉。

0

你在Windows的事件管理器中看到什麼異常?有一些可用的信息,我認爲應用程序名稱是Casini

相關問題