hit counter for blogger

黑暗執行緒

 黑暗執行緒搬新家囉!! http://www.darkthread.net

6/13/2006

ASP.NET Debugging Tips


這幾天幫忙解決了幾個VS.NET Debug上的小問題,特別拿出來分享一下:

1) 要Debug Localhost上的ASP.NET程式時,彈出一個跟Debugger Users群組有關的錯誤訊息,如下:
DebugWeb1
此時建議先檢查兩個地方: 1) IIS Web是否已停用匿名存取? 2) 測試時用的使用者是否為Debugger Users的成員?
這兩點都挺明顯的,並不難發現,比較煩的是第三種隱性的狀況,也就是其實與”Debugger Users”沒有關係,也並非真的權限不足,而是IE的自動登入沒有設妥。對第三種狀況來說,這個錯誤訊息”誤導”效果十足。
要檢查是否為自動登入問題,方法很簡單。先確認你的Debug StartPage URL,例如: http://localhost/myweb/test.aspx。接著在IE中輸入這個URL,此時若IE跳出來問Username/Password,就代表自動登入沒生效,也就是所謂第三種狀況。如果你確定已取消匿名存取,而且也開了整合式驗證,則可以看看是不是IE的進階設定被改了。如下圖:
DebugWeb2
2) 延伸以上的問題,若只能用自動登入啟動ASP.NET的Debug Mode,又要怎麼用其他身份登入做測試呢?
啟動Deugger後,它會咬住ASP.NET Web執行的Process(w3wp.exe on Windows 2003, aspnet_wp.exe on Windows 2000),此時該Process下的所有Web動作都受到監控,並不只限於VS.NET開出來的那個IE。了解了這個原理,大家應該想到解決方法了吧?
另開一個IE,用另一個身份連到同一Web就OK了! 甚至,我常常會留著這個IE開著,每次重新啟動Debugger後,再Refresh一次就可了囉!

0 Comments:

Post a Comment

<< Home