簡體   English   中英

即使Page_Load上沒有“說明”,Page_Load也不會僅在服務器上部署

[英]Page_Load not deploying only on server, even with “no instructions” on Page_Load

請首先閱讀此內容,請避免將我的問題標記為“什么是NullReferenceException及其修復方法”; 在閱讀一些較舊的問題之前,我已經閱讀了所有內容。 NullReferenceException不是這里的主要主題,我知道它們來自哪里。 主要主題是為什么我僅在服務器上而不在本地上得到此異常。 在澄清了這一點之后,請閱讀以下內容:)

我有一個單擊按鈕會彈出的表單。 有一些通用的控件; 因此,當我在本地環境(Visual Studio的asp服務器)上運行它時,它顯示得很好,即使在Page_Load上,我也有許多指令,它們使用來自DB的數據(這是一個編輯表單)來加載表單的字段。

但是,當我通過IIS(通過Web瀏覽器)在遠程服務器上運行它時,而不是顯示的表單中,我得到了NullReferenceException

因此,我開始從Page_Load中注釋指令,這樣我就可以放棄可能性,直到達到將整個Page_Load方法都注釋掉的地步,認真地100%,這里不應該執行任何指令,但是我仍然遇到NullReferenceException錯誤,堆棧跟蹤如下所示:

堆棧跟蹤:

[NullReferenceException:對象引用未設置為對象的實例。] SisProEmp.editar_necesidad.Page_Load(對象發送者,EventArgs e)+1645 System.Web.UI.Control.LoadRecursive()+70
System.Web.UI.Page.ProcessRequestMain(布爾includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint)+3177

“ editar_necesidad”是表單(html頁面)的名稱。

請注意,這僅在通過Web瀏覽器進行測試時發生,而不是在本地環境中進行 起初我以為它可能是服務器的DateTime格式,但是我已經舍棄了這一點,因為正如我提到的,Page_Load現在不執行任何操作,而且我什至看不到呈現的空控件。

  1. 使用Telerik JustDecompile從Web應用程序文件夾中打開Web服務器上的dll。 看到您認為存在的代碼與實際存在的代碼不同,可能會讓您感到驚訝。 調試中有一個原則稱為“停止思考和觀察”。

  2. 刪除Web服務器C:\\WINDOWS\\Microsoft.NET\\Framework\\<version>\\Temporary ASP.NET Files的緩存。 尋找64位。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM