VS2013無法(fǎ)啟動 IIS Express Web解決辦法
不要(yào)勾選(xuǎn)【覆蓋應用程序根(gēn)URL(U)】,或讓【覆蓋應用程序根URL(U)】下麵的輸入框和上麵的輸入框的(de)地址(zhǐ)一樣!
使用VS2013有一段時(shí)間了,因前期(qī)都是編寫C/S程(chéng)序,沒有使用到B/S調試器。前幾日,創建了一個MVC項目(mù),突然發現VS2013無(wú)法調試(shì),報了這樣的錯。
一下子有點蒙(méng),why?
修(xiū)改(gǎi)項目屬性的Web項,如下。
F5運行,仍然出錯。
這時(shí)候我知道(dào)了是Web調(diào)試器沒有(yǒu)啟動,但是卻不明白為什麽。於是檢(jiǎn)查(chá)IIS8.5的安裝情況,把(bǎ)一(yī)些可能需要(yào)安(ān)裝的都給裝了(le)。
F5運行,問題依舊。
問(wèn)題(tí)焦(jiāo)點已經很清(qīng)楚了,就(jiù)是IIS Express未能啟動。於是想到查看事件,看有沒有記錄更具體的日(rì)誌。
相(xiàng)關的事件有三條,前兩條相同,分別如下。
怎麽和iisnode有關係,我們知道,iisnode是集成在IIS中用於托管node.js應用程序來取代自托管node.exe進程的一個模(mó)塊。
“C:\Program Files (x86)\iisnode-dev\release\x86\iisnode.dll”根本就不存在(zài),這下更加暈了。為什麽(me)IIS Express會啟動失敗還是(shì)不清楚。
我決定要徹底搞清楚IIS Express到底是什麽東西。
===============================華麗分(fèn)割線==============================
當前程序員隻能通過下麵兩(liǎng)種web服務器之一來開發和測試ASP.NET網站程序:
1. Visual Studio自帶的ASP.NET開發服務器(webdev.exe)。
2. Windows自帶(dài)的IIS Web服務器。
上麵(miàn)兩(liǎng)個方案各有優缺點,而且很多(duō)ASP.NET程序員告訴我們:“我希望有一個(gè)像ASP.NET開發服務器那樣容易(yì)使用(yòng),但是(shì)功能又跟IIS一樣強(qiáng)大(dà)的(de)服務器”。今天我(wǒ)很高(gāo)興地宣布,我們將提(tí)供另一個新的(de)、免費(fèi)的、綜(zōng)合了前兩個方案(àn)的優點的選(xuǎn)擇—IIS Express,它的出(chū)現(xiàn)使(shǐ)得開發和(hé)運行ASP.NET網站程序變得(dé)更為容易。
IIS Express支持(chí)VS 2010和Visual Web Develop 2010 Express,可(kě)以運行在Windows XP和更高的版本上,它不需要管理員權限即可運行,也不要求代碼做任何的改動。你(nǐ)可以用(yòng)它開發(fā)所有類型的ASP.NET程序,而(ér)且(qiě)它還支持完整(zhěng)的IIS 7.x功能集(jí)。
現有方(fāng)案
在詳細介紹IIS Express之前,我們先來(lái)看看ASP.NET開發服(fú)務器和IIS的工(gōng)作方式(shì)。
ASP.NET開發(fā)服務(wù)器
Visual Studio自帶的(de)ASP.NET開發服務器(開發代號“Cassini”)的優(yōu)勢在於簡練和便於快速啟動。它不需要監聽遠程連接請求(因此在大部分企業的安全網絡環境中都(dōu)可以使用它),你(nǐ)甚至都不需要使用管理員(yuán)賬號就能啟(qǐ)動它(tā),而且(qiě)它(tā)也不要求額外(wài)的(de)安(ān)裝步(bù)驟(zhòu)。
正是因(yīn)為具備啟動方便這一巨大優(yōu)勢,才使得它(tā)成為ASP.NET項(xiàng)目的默認(rèn)服務器(qì),當你在(zài)Visual Studio中(zhōng)按下F5時就會啟動它(tā)。
但(dàn)ASP.NET開發服務器的缺點是它不提供完整的Web服(fú)務器功能。比如說,它不支持SSL,URL重寫規則,自定(dìng)義(yì)安全設置(zhì),和其它在IIS 7中(zhōng)支持的功能。
IIS Web服務器
用Visual Studio運(yùn)行(háng)和測試(shì)程序(xù)還(hái)有第二個選擇(zé)— IIS。你可以通過右鍵(jiàn)單擊Visual studio中的Web項目,打開它(tā)的屬性(在屬性(xìng)窗(chuāng)口中單擊(jī)“Web”標簽)來配置Web工程使用IIS。
使用IIS作為你的開發(fā)服務(wù)器允許你測試完整的(de)Web服(fú)務器(qì)具備的功(gōng)能(SSL,URL重寫(xiě)規則等)。IIS是一個貨(huò)真價實的Web服(fú)務器—這意味著和在作業服(fú)務(wù)器上(shàng)部署差不(bú)多開(kāi)發環境(jìng)。
但是(shì)采(cǎi)用(yòng)IIS的缺點是(shì),有些公司並不允(yǔn)許(xǔ)在開發機(jī)上安裝完整的Web服務器。IIS還要求使用管理員帳(zhàng)號來安裝和調試(shì)網站。不同版本(běn)的Windows又支持不同(tóng)版本的IIS。例(lì)如(rú),在Windows XP上(shàng),你(nǐ)隻能使(shǐ)用自帶的(de)IIS 5.1—所有IIS 7.x的新功能它(tā)都不(bú)支持。另外(wài),在VS裏配(pèi)置網(wǎng)站項目(mù)使用IIS,還(hái)得(dé)一些額外的安裝和(hé)配置步驟。
IIS Express — “魚(yú)”和“熊(xióng)掌(zhǎng)”兼(jiān)得
IIS Express綜合了(le)ASP.NET開發服務(wù)器易(yì)用(yòng)性的優勢和IIS強大的功(gōng)能。確切地說:
它簡練並且易於安裝(文件大小(xiǎo)不(bú)到10兆而且安裝速度(dù)相當快)。
在Visual Studio中不需要管理員權限即(jí)可啟動和調試程序。
提供了完(wán)整的Web服務器功能——包括SSL, URL重(chóng)寫(xiě),多媒體支(zhī)持和所有其他的IIS 7.x模塊。
它的可擴展模型和web.config配置結構和(hé)IIS 7.x是一樣的。
它可以和(hé)IIS Web服務器(qì)還有ASP.NET開發(fā)服務器同時運行(háng)在同一台機器上(他們不會相互(hù)衝(chōng)突)。
它支持Windows XP及更高版本的操作係(xì)統—在所有(yǒu)操作(zuò)係統平台上提供了完整的IIS 7.x功能集。
IIS Express(跟(gēn)ASP.NET開發服務(wù)器一樣)可以快速地從硬盤上的某個文件夾上啟動網(wǎng)站程(chéng)序。它不需要任何(hé)注冊(cè)或配(pèi)置步驟。在網(wǎng)站開發過程(chéng)中,這個特性使啟動和運行網(wǎng)站(zhàn)顯得相當便(biàn)捷。
與VS的整合
Visual Studio 2010的SP1引入了IIS Express支持。你將可以配置VS 2010使用它取(qǔ)代(dài)ASP.NET開發服務器(qì)作為ASP.NET項目默(mò)認(rèn)的Web服務器。跟現在的ASP.NET開發(fā)服務器(qì)一樣,你不(bú)需要在IIS Express裏注冊站點或者虛擬(nǐ)目錄。它支持和ASP.NET開發服(fú)務(wù)器相同的使用(yòng)方法——隻是(shì)添(tiān)加了更多(duō)的功能而已。
當你按(àn)下F5來運行ASP.NET項目時,Visual Studio自動(dòng)啟動(dòng)IIS Express並且使用它來運行和調試網站程(chéng)序(不需(xū)要額外(wài)的配置(zhì))。跟ASP.NET開發服務器(qì)一樣,IIS Express運行時,會在任(rèn)務欄(lán)的通知區域顯示一個小圖標:
右(yòu)鍵(jiàn)單擊上麵的圖標並選擇“退出”就可以快速(sù)關閉IIS Express。你也可以通過右鍵單擊來列出正在運行的站點(diǎn)列表,還有站(zhàn)點(diǎn)的文件夾路徑(jìng)以及使用的.NET版(bǎn)本(běn):
[備注:上(shàng)圖IIS Express為英文版]
請注意(yì)上(shàng)圖(tú)中兩個很酷的地(dì)方(fāng):
1. 正在運行的站點(diǎn)“Test Site”,還有IIS Express本身,保存在(zài)硬盤(pán)的c:\users\[用戶名]文件夾中。這就允許非管(guǎn)理員用戶使(shǐ)用(yòng)IIS Express和(hé)網站,而且還支持(chí)一些現在的(de)IIS服務器沒有(yǒu)辦法實現的場景(jǐng)(例(lì)如可以在受限(xiàn)的(de)企(qǐ)業(yè)網絡環境或受限的(de)學(xué)校公共電腦上運行(háng)IIS Express)。
2. 上麵正在(zài)運行的站(zhàn)點“Test Site”同時支持HTTP和(hé)HTTPS的訪問方式。IIS Express通過自動安裝“自簽名證書”來支持URL訪(fǎng)問控製(zhì)列(liè)表(URL ACL)和(hé)SSL認證,這樣(yàng)程(chéng)序(xù)員(以非管(guǎn)理員用戶登(dēng)錄電(diàn)腦)可以在不需要提升用戶權限,或執行(háng)額外設置的情況下就(jiù)可以使用SSL。這個功能允許(xǔ)你在程序中為(wéi)SSL設置需要保(bǎo)護的頁麵(比如登錄頁(yè)麵(miàn)),並且在開發過程(chéng)中象(xiàng)在真實的web服務器(qì)裏那樣運(yùn)行(háng)和測試(shì)這些頁麵。
IIS 7.x功能集
IIS Express就像你現在已(yǐ)經熟悉的ASP.NET開發服務其那樣容易啟動和使用。 但是因為IIS Express是基於與IIS 7x相同(tóng)的(de)代碼,你可以用到(dào)完整Web服務器的功能集合。這也就(jiù)意味(wèi)著你(nǐ)可以像在真實的作業Web服(fú)務器上(shàng)創建和運行你(nǐ)的程序。除了SSL,你(nǐ)還可以使用 IIS 7.x的URL重寫模塊、多媒(méi)體插件、動態內容壓縮(suō)、高級日誌功能、自定義安全
關鍵(jiàn)詞(cí):VS2013,IIS,Web,解決辦法(fǎ)
閱讀本文後您有什(shí)麽感想? 已有 人給出評價!
- 1
- 71
- 1
- 2
- 1
- 2