asp.net|程式|asp.net 對 ASP.NET 應用程式啟動調試應如何設定(包括遠端偵錯)
請根據你的偵錯類型與作業系統選擇,以下步驟請勿顛倒(不行的話,從頭開始設定)
PS:因本人撰寫本稿時,用的是Win 2003 、Win2000 繁體版 + Visual Studio.Net 2003 英文版,故抓下來的圖與說明不大一樣,但這些“屬性”的位置是不變的
一、本地調試
A. Windows 2000 作業系統
1、開啟VS.Net工具選項 → 項目Web設定 → Web伺服器串連 → Forntpage擴充
2、使用者的群組 → 刪除“ (192.168.0.1) Admins”使用者組”(可能不是 IP,是電腦名稱,沒有就不用刪了)
3、右擊“我的電腦” → 管理 → 服務和應用程式 → Internet 資訊管理伺服器(IIS) →右擊“預設Web網站”所有任務→刪除伺服器擴充
4、在 MS-DOS 命令下運行“C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe -i”(此處也可能是“C:\WINNT\Microsoft.NET\Framework\ v1.1.4322\aspnet_regiis.exe -i”),接著在 “C:\WINNT\Microsoft.NET\Framework\v1.0.3705\Config\machine.config”檔案找到“ <processModel …… />”把“ username="machine" ”改成“username="system" ”。
5、按第 3 步,在“所有任務” → “設定管理員擴充”完成嚮導的過程中會提示你建立本機使用者組“(192.168.0.1) Admins” → 重新整理“使用者組”即可看到,然後添加該群組成員
6、右擊“Internet資訊報務” → 屬性 → 伺服器擴充 → “充許作者上傳可執行程式”;
7、檢查“c:\inetpub\wwwroot”檔案夾(注意此處為網站所在根目錄,必須是 NTFS 格式)安全屬性,裡面應該有“(192.168.0.1) Admins”使用者組,沒有就自己加上,並附上相應的權力
8、運行VS.NET,建立項目會有使用者名稱和密碼提示框,輸入(192.168.0.1) Admins 群組成員相應的帳號及密碼(使用者密碼不可為空,若該帳號無密碼請添加)
B. Windows 2003作業系統
1、同上
2、右擊“我的電腦” → 管理 → 服務和應用程式 → Internet 資訊管理伺服器(IIS) → 網站 → 右擊“預設Web網站” → 所有任務 → 刪除 Server Extensions 2002 → 將開啟一網頁,輸入 “Administrator ”及密碼,按步驟做完
3、在 MS-DOS 命令下運行“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe –i”
4、右擊“預設Web網站” → 所有任務 → 設定 Server Extensions 2002 → 然後點擊左上方的“管理” → 改變匿名訪問 → 選擇“開啟”、“參與者”
5、完成上述 4 個步驟,只有Administrators 使用者組的成員才有許可權進行調試,其他使用者的調試請參照“遠端偵錯”
二、遠端偵錯
首先,先介紹遠端偵錯的先決條件:
1、Web 服務器需要能夠進行本地調試的條件
2、Web 服務器需要安裝 Visual Studio .NET 遠程組件, 用戶端只需要“Full Remote Debugging”一項
A. Windows 2000 作業系統
1、你需要有一個 Web 服務器的帳號 ,該帳號至少應該是”Debugger Users” ”WebAdmins”兩個使用者組的成員(此處我建立一個 ”cityhunter” 的帳號,”Web Admins” 是設定本地調試時建立的)
2、在伺服器上的“C:\WINNT\Microsoft.NET\Framework\v1.0.3705\Config\machine.config”檔案中找到“ <processModel …… />”把“username” 設成"cityhunter", “password” 設為 "123456"。然後重啟伺服器(不知重啟 IIS 可不可以)
3、使用者必須以 使用者名稱: ”cityhunter” 密碼:”123456” 的帳號登入用戶端電腦.。這一點對於 伺服器與用戶端 在同一工作群組的使用者來說是關鍵!!原因也許是 Web 服務器檢測帳號時,只對當前用戶端電腦使用者的賬戶及密碼,而不是檢驗 開啟項目時使用者輸入的賬戶及密碼。
B. Windows 2003 作業系統
1、建立一個 ”cityhunter” 的帳號,密碼為 ”123456”,將其加入”Debugger Users “使用者組
2、右擊“我的電腦” → 管理 → 服務和應用程式 → Internet 資訊管理伺服器(IIS) → 網站 → 右擊“預設Web網站” → 新增 → Server Extensions 2002 管理員 → 將開啟一網頁,輸入 “Administrator ”及密碼,按步驟做完,最後此賬戶也至少應該在二個工作群組內
3、右擊“我的電腦” → 管理 → 服務和應用程式 → Internet 資訊管理伺服器(IIS) → 應用程式集區 → 右擊“DefaultAppPool” → 屬性 → 身分識別驗證 → 指定為 “cityhunter”。完成後重啟。
4、使用者必須以 使用者名稱: ”cityhunter” 密碼:”123456” 的帳號登入用戶端電腦.才能對 Web 服務器的項目進行調試。
以上設定完成後,進行調試,可以 在伺服器的 “工作管理員” 看到 ”w3wp.exe” (Win 2000 下是 “aspnet_wp.exe”)“vs7jit.exe” 是以 “cityhunter” 身份啟動並執行。需要注意的是公司的防火牆不能阻攔上述程式的通訊。