我遇到的問題與我的開發環境中的任何調用緩存應用程序塊的CacheFactory導致IIS崩潰。我創建了一個非常簡單的Web應用程序,每次嘗試運行時都會導致IIS崩潰,但是該應用程序在Visual Studio.NET Web服務器下正常工作。高速緩存應用程序塊崩潰IIS
下面的代碼是什麼原因導致在IIS下運行時,應用程序崩潰:
protected void Page_Load(object sender, EventArgs e)
{
try
{
ICacheManager cm = CacheFactory.GetCacheManager("foo");
Response.Write(cm.GetHashCode());
}
catch(Exception ex)
{
Response.Write(Server.HtmlEncode(ex.ToString()));
}
}
我稻草樣的抓在這裏,但有沒有人見過類似的行爲?有一段時間我看到「嘗試讀取或寫入受保護的內存,這通常表示其他內存已損壞。」錯誤,但現在我只是遇到崩潰。在我上面的代碼示例中,當我在IIS下運行時,捕獲從未達到,因爲w3wp.exe進程失敗。發生這種情況時,我得到在事件日誌中輸入以下內容:
進程服務應用程序池 「WebApplication1」與Windows 進程激活服務遇到致命 通信錯誤。 進程ID是'1944'。數據字段 包含錯誤編號。
我已經嘗試重新安裝企業庫並重新運行aspnet_regiis.exe無濟於事。我也嘗試刪除Web服務器角色並重新安裝它,但那也不起作用。
- 的Windows服務器上運行VS.NET 2010 SP1測試版2008 R2 x64的網絡版的VirtualBox 4.0.4
- 下使用企業庫5.0
- 直到最近:
關於我的開發環境的一些注意事項,這個dev服務器上的所有東西都運行正常。
- 在這一點上,數據執行保護已使用bcdedit.exe的
編輯
我已經縮小這個問題降低到.NET 4.0框架問題被關閉。當我針對3.5框架構建Web應用程序時,它按預期工作,但是當我針對4.0框架構建時,IIS在運行Web應用程序時會崩潰。
你試過發佈網站的Visual Studio之外,並掛接多達IIS?然後,你可以測試一個乾淨的web應用程序,沒有任何與VS的關係,以防萬一,這會干擾你的應用程序 - 因爲你在測試版VS上,這是第一個跳到我身上的東西。 – 2011-03-04 00:59:48
這很奇怪。我傾向於某種類型的真正的硬件故障。其他虛擬圖像中是否有失敗跡象? – NotMe 2011-03-04 02:46:03
另一個想法是,你能啓動一個全新的Windows Server實例並運行你的測試代碼嗎? – NotMe 2011-03-04 02:46:54