必須在出錯的伺服器上,用IE開啟出錯的網址,才能看到完整的出錯資訊,通過分析完整的出錯資訊,才能知道具體的出錯原因.
不在出錯的伺服器上訪問出錯的網址,看到的資訊是不完整的.
通常的出錯可能如下:
一、Net 1.1的程式放在.Net2.0的虛擬機器主機中運行,或反之
二、使用者自己設計的web.config檔案與虛擬主定義的衝突,只要刪除衝突行就可以解決。
三、需要放在根目錄下啟動並執行程式卻放在二級目錄中造成出錯,如dz論壇的NT版要就要放在根目錄下才能運行。
四、許可權問題:
1.沒有點開始--自動化佈建受控端--設定Asp.Net安全模型,設定後要重啟IIS
2.自己手工設了系統必要的許可權,如使用者資料目錄是需要Service的讀與運行許可權(d:\freehost)
3.自己手工改了C:\Documents and Settings目錄及子目錄的許可權,造成無法寫臨時檔案,可以參考正常的電腦來恢複許可權
4.自己手工改了C:\windows目錄的許可權,造成無法讀相關的dll檔案。
5.如果只是asp.net寫入檔案操作時才出錯,可以看以下內容:
如果使用者需要用ASP.net寫檔案或目錄,需要增加以下的許可權。例如使用者資料放在D:\Freehost目錄,那麼要為D:\增加FreeHost組讀屬性的許可權,可以在硬碟屬性---安全---進階 中添加。最後的D:\的許可權如下
d:\ (如果使用者網站內容放置在這個分區中)
administrators 全部許可權
system 讀取與運行(如果安裝了一流資訊監控就設全部許可權)
FreeHost 讀取屬性的許可權(只有該檔案夾,子目錄不用繼承)
注意!!!!!讀取屬性的許可權的許可權並不是讀取許可權,這是兩個完全不一樣的許可權!
另外,測試伺服器是否正常的辦法:
首先你要確認伺服器是否配置好asp.net
1.新開通一個asp.net的虛擬機器主機,做一個簡單的asp.net程式上傳,如test.aspx檔案,這個檔案的內容是:<%=now()%>
2.在這台伺服器上,IE中訪問這個test.aspx,看出錯資訊是什麼,從出錯資訊中可以大概知道原因。(必須在伺服器上用IE查看出錯頁,在遠程看是看不到出錯原因的.)