目前在偵錯工具時遇到了這樣一個問題:
出現:ASP.NET Development Server未能開始偵聽連接埠1757.錯誤資訊:以一種存取權限不允許的方式做了一個訪問通訊端的嘗試,中國自學編程網整理。
接著出現:無法串連到Visual Studio 的Localhost Web伺服器
在網上找了半天解決了,拿出來大家一起分享:
>>>step1
【工具】->【外部工具】->按【添加】輸入:
1)標題:Web Server Port:8080
2)命令:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727WebDev.WebServer.EXE
3)參數:/port:8080 /path:$(ProjectDir)
4)【使用輸出視窗】選上
>>>step2
點擊step1後在【工具】菜單上出現的“Web Server Port:8080”選項,啟用自訂Web Server伺服器,啟用後視窗右下角會出現一個“asp.net development server”表徵圖。
>>>step3
在網站上右擊選擇【屬性頁面】->【啟動選項】->【使用自訂伺服器】,在基URL輸入http://www.zxbc.cn/"http://localhost:8080/"
>>>step4
記得要把該網站或項目的IIS上的運行連接埠也要改成8080:IIS--找到你的專案網站,並且右擊--將連接埠改成8080
============================
當你開發Asp.Net應用程式時,Internet Information Services (IIS)中將內建Development Server用於測試和運行Web網站。
當你測試或者開發Asp.Net應用程式時,需要一個Web Server。在微軟平台上大多數人使用的就是IIS,其中包括Web Server,Ftp Server(檔案傳輸伺服器),SMTP Server(簡單郵件伺服器)等組件。在Windows 2000 Server和以前版本的微軟作業系統中,IIS是預設安裝的;在Windows Server 2003和Windows Xp中,預設並未安裝IIS組件。當然你可以自由選擇添加或刪除程式。(在Windows Server 2003,你可以安裝IIS用作應用伺服器組件。)
什麼時候需要使用ASP.NET Development Server?
但也可能由於某些實際情況不允許你使用IIS操作:
譬如,Windows XP Home Edition(Windows XP家庭版),IIS並被不支援(當然不排除你使用一些“技巧”讓它可以用);
或者出於安全考慮,你並不希望在你的家用網路中使用某台電腦用作Web伺服器;
如果你使用IIS Web Server,將需要進行一些額外的操作使得伺服器安全和穩固,並且儘可能安裝最新的安全更新。
甚至,更有可能由於公司策略,不允許你安裝某些伺服器組件:譬如IIS。
當你不能使用IIS時可以選擇ASP.NET Development Server (Asp.Net程式開發伺服器)作為你的Web Server,你可以使用ASP.NET Development Server測試你的Asp.Net頁面。ASP.NET Development Server包括了Visual Web Developer,你可以使用多數Windows作業系統(2000),包括Windows XP家庭版,你無需其他的電腦就可以運行(這是你的電腦將是一個伺服器)和瀏覽(這是你的電腦將是一個瀏覽者)asp.Net頁面。換句話說,當你不能使用IIS時,ASP.NET Development Server可以讓你的電腦同時充當兩個身份:伺服器和用戶端。
ASP.NET Development Server提供一種有效方式讓你在發佈頁面到IIS之前,可以本地測試你的Asp.Net頁面。ASP.NET Development Server只支援通過認證的本機電腦,這要求伺服器能夠支援NTLM或基本認證. [Page]
安全建議:最好的辦法是運行ASP.NET Development Server時,不使用超級管理員的身份,而使用一個受限的身份。這樣將可以防止非法訪問伺服器上的其他檔案。
更詳細的內容請參閱:
http://www.zxbc.cn/"http://msdn2.microsoft.com/en-us/library/58wxa9w5.aspx/"(English)
相關問題:
1、Asp.Net development server安裝時的問題
ASP.NET development server failed to start listening on port (dynamic port) & Error Unable to connect to Visual Stutio’s localhost web server
昨天剛剛安裝上MS SQL2005,由於vs2005的版本比較舊,在安裝sql2005的時候必需要更換幾個程式和組件,其中包括了.net Framework2.0,因為sql2005是一個中文版的,所以它裡面要安裝.net Framework2.0的語言套件,可是當安裝的時候會出現setup.exe出現錯誤,沒有辦法,在網上下載了一個.net Frameworr2.0的中文包,終於跳過了sql2005的一個安裝程式,順利地成功安裝好了。
開始運行vs2005了,可是當F5或Ctrl+F5時,出現\"Asp.Net development server failed to start listening on port ****\",,然後跳出警告框\"Error Unable to connect to Visual Stutio’s localhost web server\",在網上找了很多資料,裡面主要的解決方案是:
Does the file webdev.webserver.exe exist in C:WindowsMicrosoft.NETFrameworkv2.0.xxxxx?
Is IE your default browser? Make sure in Internet Explorer, Tools | Internet Options, Connections tab, LAN Settings, that you have ’bypass proxy server for local addresses’ checked if you are using a proxy server.
If Windows Firewall is running check Windows Firewall settings. Turn ON the option on the Exceptions tab to \"receive notifications when Firewall is running\". It’s possible Firewall is blocking webdev.webserver.exe
What happens when you press Ctrl+F5 instead of F5 to run the site? Ctrl+F5 is ’Run Without Debugging’
What do you see in your browser when you type the address http://www.zxbc.cn/"http://localhost:80/" ?
然後根據上面的提示出現的各種解決辦法。可是我一個都沒有找到。
到後來發現原來的.net Framework2.0版本太低了,重新安裝一下.net Framework2.0解決不了問題,只能重建立立一個解決方案了。在把以前的項目添加過來,在啟動並執行話就不會出現任何問題了。不過這樣好麻煩,到現在 還沒有找到一個簡單的解決辦法。
2、ASP.Net Development Server 開發網站的問題
中文作業系統下,比如我們有這樣一個 ASP.net 頁面 Default.aspx
它的功能超簡單,只有下面這些功能:
程式碼
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Request.RawUrl);
Response.Write(\"
\");
Response.Write(Request.QueryString[\"aaa\"]);
}
這個頁面在 ASP.Net Development Server 開發網站的時候,單獨請求如下頁面:
http://www.zxbc.cn/"http://localhost:8186/WebSite2/Default.aspx?aaa\"=哈哈&bb=c123
返回:
/WebSite2/Default.aspx?aaa=&bb=c123 [Page]
中間的中文字元自動被幹掉了。
同樣的程式,在 IIS 上,則沒有任何問題。所以在作程式的時候,要注意這點。可能開發環境有問題,運行環境沒問題。
另外,在中文作業系統中,VS2005 預設建立一個Html頁面,是 ASCI碼的檔案,預設建立一個 ASPX 頁面,是UTF-8編碼的檔案。這兩個檔案之間如果有中文參數值傳遞,可能就會導致亂碼出現。
3、VS2005開發使用firefox訪問Asp.net Development Server 網站的方法:
今天在測試vs2005的TreeView控制項顯示的代碼,在非IE瀏覽器下效果的時候,發現:
當你用firefox訪問 Asp.net Development Server 的網站(也就是vs2005內建的那個開發用web網站),會讓你輸入使用者帳號和密碼,但是你不論輸入那個帳號都是拒絕訪問的解決方案。
搜尋Google,發現今年4月份的時候,就有人向微軟報告了這個bug,對應的也有解答。
解決方案:
解決方案參看下面連結。
Bug Details: asp.net Development Server need identification with Firefox on non IE-browser
http://www.zxbc.cn/"http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=582fcb60-47cd-4475-869b-130786c0821d\"
具體來說就是在Firefox地址欄中輸入:about:config
然後在過濾器中輸入:NTLM
這時候我們在過濾的結果中,可以看到只有兩項。
其中一項是:network.automatic-ntlm-auth.trusted-this
雙擊這一項,在輸入值中輸入 localhost
這裡輸入的為Asp.net Development Server的網站名。
關閉FireFox,重新訪問Asp.net Development Server的網站就可以解決這個問題了。
原因:
ASP.Net development web server 對於每個請求,都會執行 NTLM 驗證,以確定處理的是來自同一個使用者的請求。
在IE中這是自動完成的,Firefox瀏覽器需要做以上設定才可以。