我有一個ASP.NET Web應用程序託管在共享Web服務器上。最近,我使用Visual Server 2008對其進行了一些更改(僅更改了代碼,不更改ASPX),並將新DLL上載到服務器上的bin文件夾。未在已部署的應用程序中執行ASP.NET代碼隱藏
當我重新加載我的任何頁面時,出現以下奇怪的症狀:頁面呈現,沒有運行時錯誤,但似乎沒有代碼隱藏文件中的代碼執行(例如頁面加載,控件事件)。靜態內容全部顯示,但是通常不會由服務器代碼呈現的內容。我個人從來沒有見過這種方式表現出的DLL加載問題 - 如果DLL無法加載,我期望看到運行時錯誤,無法加載頁面繼承的類。
我想知道是否有人以前見過這種效果?下面我將一一列出,作爲線索,我能想到的因素可能是我的情況有關:
當我是最後一個工作在這個應用程序(它已經有一段時間),我想用VS網Developer Express 2005.在進行此更改(升級到VS2008)的過程中,我從那個可怕的「網站」模型轉換爲適當的Web應用程序項目。所有重建都很好,在我的機器上工作,但...?
在我的本地機器上開發時,我將解決方案平臺從「任何CPU」更改爲x86。這是因爲我現在正在運行64位Windows,但需要使用Jet OLEDB提供程序,該提供程序顯然不能在64位模式下運行。 (我還必須讓應用程序在32位應用程序池中運行)。所以我認爲我的問題可能是由於DLL的CPU目標與託管服務器的Web進程不兼容導致的。但是,在切換回「任何CPU」並重新構建之後,我仍然遇到同樣的問題。也許我仍然有我的構建配置搞砸了? (這是我第一次不得不插手CPU目標)
也許我需要改變解決方案的目標.Net Framework 2.0而不是3.5?再次,如果這是我所期望的運行時錯誤的問題......?
我的應用程序不使用自定義錯誤頁面 - 但我認爲它在服務器上有CustomErrors =「On」。仍然 - 這不會阻止顯示運行時錯誤頁面,是不是?它只是不會包含任何錯誤細節。
我目前被難住 - 任何想法讚賞!
你能重置IIS或應用程序池的共享主機?試試看。 – 2010-01-27 01:47:57
我希望我可以,因爲它可能是網絡服務器已加載我的課的版本。但我認爲這不會成爲我的選擇。我能做的最好的辦法是通過修改我的web.config強制重新加載應用程序(但是,替換DLL應該已經具有相同的效果)。不過,我會嘗試一件事。 – 2010-01-27 05:19:14
啓用跟蹤並使用Trace.axd檢查是否有任何內容正在爲初學者調用。 http://msdn.microsoft.com/en-us/library/wwh16c6c.aspx – 2011-09-26 21:55:46