昨日突然發現調試asp.net應用程序時,IE總是顯示connecting,長時間不顯示頁面。開始分析是什么原因,發現firefox訪問此asp.net development server,也是長時間沒有顯示頁面。是asp.net development server有什么問題了。想不出什么直接的原因,於是就在網上搜索,用一些關鍵字如:asp.net development server not working, asp.net development server long time no response, asp.net development server hang, 等等等等,搜到一些信息都沒有幫助,有的說把IE options里reset一下就可以,試了好多方法就是沒有解決。后來看到asp.net development server只能使用localhost來訪問,不能從別的主機過來訪問,不過此處正是本機,應該localhost沒有問題的。中間還試圖調整IE的zone,也沒有解決。后來突然想起,試試127.0.0.1,一試,果然可以。而localhost不行,看來是localhost這個域名出了問題。ping localhost, 果然,localhost被映射成了::1, 於是找到C:\Windows\System32\drivers\etc\hosts, 發現:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
這些行都是注釋的。
為什么localhost映射成了::1呢,試着寫了一行127.0.0.1 localhost,重啟,果然發現asp.net development server正常了。
這個與IPv6有關,於是把所有IPv6全都disable了。這下應該沒有啥問題了。