IISExpress的配置、使用和注意點(diǎn)_第1頁
IISExpress的配置、使用和注意點(diǎn)_第2頁
IISExpress的配置、使用和注意點(diǎn)_第3頁
IISExpress的配置、使用和注意點(diǎn)_第4頁
IISExpress的配置、使用和注意點(diǎn)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯 .歡迎下載支持.IIS Express的配置、使用和注意點(diǎn)VS2010的 SP1 引入了 IIS Express支持,這是值得高興的事情。因?yàn)樽詭У腁SP.NetDevelopment Server只能單站點(diǎn)運(yùn)行、不能設(shè)置虛擬目錄、多少個(gè)項(xiàng)目就會(huì)出現(xiàn)多少個(gè)等等等等巴拉巴拉,我對(duì)它恨之入骨,總之,很長一段時(shí)間內(nèi)我進(jìn)行開發(fā)實(shí)際上都是用IIS的。但是用IIS有不方便的地方,就是必須開啟IIS Admin服務(wù),而且VS 必須以管理員模式運(yùn)行才能正常打開項(xiàng)目和調(diào)試。每次都以管理員模式啟動(dòng)已經(jīng)比較麻煩了,比較郁悶的是,以管理員模式啟動(dòng)的vs 處于特權(quán)狀態(tài)

2、,所以程序間的文件拖放就失效了換句話說,如果我想從資源管理器中直接拖一個(gè)文件到vs 中打開,就辦不到了。所以對(duì) IIS Express一直是比較期待的。本文包含內(nèi)容:1.關(guān)于 IIS Express的介紹IIS Express 的配置文件中網(wǎng)站的配置如何在 VS2010 中配置 IIS Express4.如何避免需要管理員身份啟動(dòng)IIS Express5.IIS Express 比較有用的命令行參數(shù)1.關(guān)于 IIS Express的介紹在這篇文章中介紹了伴隨著ASP.net MVC 3 而來的新東西, 其中就包含 IIS Express 7.5,介紹如下:?輕量,易于安裝,安裝包不到5M ;?

3、從 VS 中啟動(dòng)、調(diào)試應(yīng)用程序不需要管理員身份;?帶有完整的 WEB 服務(wù)器功能支持 支持 SSL 、URL 回寫以及其它 IIS7.x 的模塊;?和 IIS7.x 完全一致的 web.config 配置模型;?可以和 IIS 、 ASP.net Development Server同時(shí)安裝,沒有任何沖突;?支持 XP 及更高的操作系統(tǒng),在所有的系統(tǒng)上都提供IIS7.x 一致的開發(fā)功能。關(guān)于 IIS Express常規(guī)的安裝、使用,相關(guān)介紹的文章比較多,我就不多說了。這里說說沒怎么見人提的地方。關(guān)于配置文件默認(rèn)情況下 IIS Express 使用的配置文件位于 “我的文檔 ”中,路徑如下: “

4、我的文檔 IIS Config ”。其中, applicationhost.config 是核心的配置文件,它用于承載站點(diǎn)的定1文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯 .歡迎下載支持.義、應(yīng)用程序和應(yīng)用程序池以及整個(gè) WEB 服務(wù)器的配置。由于是放在我的文檔中的,所以修改它不需要管理員權(quán)限,意味著可以直接修改。在修改后,下次啟動(dòng)應(yīng)用程序就會(huì)起效。在 applicationhost.config內(nèi)容中,用于定義網(wǎng)站和應(yīng)用程序池。默認(rèn)情況下,其內(nèi)容如下:..3.!-16.The section defines the protocols

5、with which the17.Windows Process Activation Service (WAS) binds.18.-8.2文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯 .歡迎下載支持.7.38.39.IIS Express內(nèi)建了五個(gè)應(yīng)用程序池,分別對(duì)應(yīng).Net 2.0/4.0的集成 / 經(jīng)典模式、以及一個(gè)非托管程序池。默認(rèn)的程序池版本有節(jié)來配置。 節(jié)用于配置網(wǎng)站。網(wǎng)站的默認(rèn)應(yīng)用程序池和虛擬目錄默認(rèn)配置由和節(jié)點(diǎn)配置。以上的節(jié)點(diǎn)默認(rèn)情況下我們并不需要太多關(guān)注,因?yàn)榇蠖鄶?shù)情況下我們需要關(guān)注的只有 下

6、的 節(jié)點(diǎn),這里保存了網(wǎng)站、應(yīng)用程序的定義,才是我們需要真正關(guān)心的。.每個(gè) 就是一個(gè)網(wǎng)站。這和 IIS中的網(wǎng)站是一樣的概念。 serverAutoStart設(shè)置了是否隨著IIS Express 的啟動(dòng)而自動(dòng)啟動(dòng)。如果設(shè)置為true ,那么每次IIS Express啟動(dòng)都會(huì)自動(dòng)加載(如果沒有指定網(wǎng)站的話),否則只有以指定特定網(wǎng)站的模式運(yùn)行時(shí)才會(huì)加載。使用 IIS Express 加載特定網(wǎng)站的語法是:IISExpress.exe /site: .下的 設(shè)置了這個(gè)站點(diǎn)的綁定信息。節(jié)點(diǎn)下的每個(gè) 都是一個(gè)端口綁定信息。典型的綁定配置如下:protocol指定了綁定的協(xié)議類型( IIS Express 內(nèi)

7、建了 HTTP 和 HTTPS 兩種協(xié)議支持),而“*:8080:localhost 則”指定的綁定的具體信息,它有三個(gè)部分組成:“綁定的 IP: 端口 :主機(jī)名”。默認(rèn)情況下, 綁定到任何本地 IP 、非保留端口、 綁定到 localhost 。注意這個(gè) localhost ,有講究,特定情況下可能會(huì)導(dǎo)致你很困惑,請(qǐng)參考本文后面的內(nèi)容。 .這個(gè)節(jié)設(shè)置了網(wǎng)站的應(yīng)用程序每個(gè)網(wǎng)站都需要至少一個(gè)映射路徑為“/應(yīng)”用程序(它映射到根目錄)。除此之外,你可以繼續(xù)添加并行的不同路徑的,這就類似于IIS 中的網(wǎng)站里配置的應(yīng)用程序。3文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯 .歡迎下載支持.例如,在

8、 FishSite這個(gè)網(wǎng)站中,我需要添加一個(gè)單獨(dú)的應(yīng)用程序,映射到根目錄下的fish目錄,那么我就可以這樣配置:1.2.3.virtualDirectorypath =/ physicalPath = /5.6.virtualDirectorypath =/ physicalPath = /7.virtualDirectorypath =/content/ physicalPath = /8.10.在 中,只有 path=/ 這個(gè)應(yīng)用程序是必須的(不能缺少),其它都是可以任意添加的。 .設(shè)置了目錄的映射信息參見上面展示的代碼。在每個(gè) 節(jié)下,必須至少存在一個(gè) path=/ 的 virtualDi

9、rectory ,它代表了這個(gè)目錄映射的位置。除此之外,可以手動(dòng)添加多個(gè)映射的路徑不同的虛擬目錄。關(guān)于虛擬目錄的支持IIS Express支持虛擬目錄,這是對(duì)我來說很重要的一個(gè)改進(jìn),因?yàn)閷?shí)際的項(xiàng)目中經(jīng)常有很多目錄是共享的,比如上傳目錄、配置文件目錄等等,在ASP.net Development Server中這些都是辦不到的。IIS Express的站點(diǎn)模型和IIS 是一致的,最基本的是站點(diǎn),站點(diǎn)下可以區(qū)分應(yīng)用程序、虛擬目錄。配置文件中如何手動(dòng)創(chuàng)建它們,請(qǐng)參考上節(jié)中的介紹自行創(chuàng)建。在VS 中如何創(chuàng)建呢?,將使用IIS或 ASP.net Development Server的項(xiàng)目遷移到IIS E

10、xpress上注意:你需要安裝VS2010 SP1 來讓 VS2010 支持 IIS Express 。在“解決方案管理器”中右擊網(wǎng)站項(xiàng)目,并選擇“使用 IIS Express. 即”可:4文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯 .歡迎下載支持.VS 會(huì)使用一個(gè)新的默認(rèn)端口在IIS Express中創(chuàng)建網(wǎng)站。,如果你想要將當(dāng)前項(xiàng)目作為一個(gè)虛擬目錄映射到現(xiàn)有的某個(gè)站點(diǎn)或新網(wǎng)站的根目錄下,那么推薦在項(xiàng)目屬性中更改(項(xiàng)目屬性-WEB ):輸入完成后,直接點(diǎn)擊 “創(chuàng)建虛擬目錄 ”即可完成轉(zhuǎn)換操作。 VS 將會(huì)自動(dòng)在本機(jī)的IIS Express中完成配置。,如果想映射到一個(gè)本地目錄(比如資源

11、共享,上傳目錄等)到IIS Express承載網(wǎng)站的應(yīng)用程序下那么可以參考上面介紹的配置文件手動(dòng)更改。貌似 IIS Express中的appcmd也可以更改,不過個(gè)人覺得這類簡單的配置,直接編輯就搞定了,用appcmd的話還需要先去學(xué)習(xí)怎么用它,怪麻煩的。例子可以參考前面相關(guān)的內(nèi)容。關(guān)于管理員身份啟動(dòng)IIS Express設(shè)計(jì)是為了避免需要管理員權(quán)限就能完成大部分操作的。但是個(gè)別情況下它會(huì)要需要管理員權(quán)限才能運(yùn)行(我當(dāng)時(shí)在這里就栽了跟頭,研究了N 久)。這類的限制包括:?綁定到了保留的端口(通常位于1024 以下的端口,如80 、88 、 443 等);?沒有綁定 localhost ,而是綁

12、定了域名或其它內(nèi)容;?使用了 HTTPS ,但是端口不在44300-44399 范圍內(nèi);?使用了自己的 SSL 證書的 HTTPS 。,使用了保留的端口5文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯 .歡迎下載支持.通常操作系統(tǒng)的 HTTP.sys(網(wǎng)絡(luò)內(nèi)核)將 1024 以下的端口設(shè)計(jì)為保留端口, 如果 IIS Express 需要綁定到這些端口,則需要它擁有管理員權(quán)限,否則就會(huì)失敗。錯(cuò)誤類似這樣:反映到系統(tǒng)的日志中,就是這樣的錯(cuò)誤:要解決這個(gè)問題,很簡單,只要將端口綁定到非保留端口即可(大于1024 ),或使用管理員身份啟動(dòng)它 備注 1。,綁定了其它域名默認(rèn)情況下, IIS Expr

13、ess 只能綁定到 localhost 。如果需要綁定到具體的域名供外部訪問而又沒有解決方案,那么就會(huì)遭遇到失敗的問題。要解決,也很簡單 就是使用管理員身份啟動(dòng)它備注1。,使用了 HTTPS ,但是端口不在 44300-44399之內(nèi)IIS Express 用于承載 HTTPS 站點(diǎn)測試時(shí),端口會(huì)限制在 44300-44399之內(nèi),這同樣是操作系統(tǒng)的限制。如果超過了這個(gè)范圍,則需要以管理員身份啟動(dòng)它才能正常工作備注 1。,使用了自己的SSL 證書的 HTTPSIIS Express 默認(rèn)會(huì)安裝一個(gè)測試的自簽名證書用于開發(fā),這允許開發(fā)人員在沒有SSL 證書的情況下進(jìn)行開發(fā)。 但是如果站點(diǎn)使用了自

14、己的SSL 證書,則會(huì)導(dǎo)致 IIS Express需要管理員身份才能啟動(dòng)備注1。6文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯 .歡迎下載支持.關(guān)于命令行啟動(dòng)選項(xiàng),使用自己的config文件默認(rèn)情況下 IIS Express 會(huì)使用在 “我的文檔 ”中保存的 applicationhost.config。但是如果我們以命令行模式啟動(dòng)它,則可以指定配置文件的路徑。命令行是: iisexpress /config:對(duì)于團(tuán)隊(duì)開發(fā),這會(huì)比較有用,比如創(chuàng)建全局的config 簽入到源代碼管理中,這樣能同步全局的服務(wù)器目錄結(jié)構(gòu)配置(當(dāng)然,如果小項(xiàng)目或者沒有目錄映射的話就沒多大意義了)。啟動(dòng) IIS

15、Express 使用此命令行啟動(dòng),就省去了每次牽出項(xiàng)目還得配置IIS Express 的麻煩(同時(shí), 開發(fā)服務(wù)器的配置可以直接保存到項(xiàng)目中,也就避免了每個(gè)人的開發(fā)服務(wù)器可能有差別)。這種情況下,調(diào)試可以使用VS 的 “附加到進(jìn)程 ”來完成。,啟動(dòng)一個(gè)臨時(shí)網(wǎng)站有些情況下,我們需要啟動(dòng)一個(gè)臨時(shí)的網(wǎng)站(比如快速創(chuàng)建一個(gè)臨時(shí)服務(wù)器等),便可以用類似的命令行來創(chuàng)建:iisexpress /path: /port: /clr:iis express 會(huì)復(fù)制一份配置文件到臨時(shí)目錄,并變更其中的站點(diǎn)信息后再啟動(dòng),因此不會(huì)影響到本機(jī)已經(jīng)配置的網(wǎng)站。6. 結(jié)束語IIS Express 的出現(xiàn)讓我著實(shí)高興了一番,相比ASP.net Development Server 的過于簡單、使用 IIS 每次都要以管理員身份啟動(dòng)VS 來說, IIS Express給我們提供了一個(gè)很好的折衷方案。雖然接受它需要花點(diǎn)兒功夫:-)備注 1:可以使用 netsh (vista或 win7/2008)或 httpcfg來更改系統(tǒng)注冊(cè)表的配置, 請(qǐng)參考: /1005/handling-url-binding-failures-in-iis-express/備注 2 :更多的關(guān)于不使用管理員身份運(yùn)行IIS Express 的信息,請(qǐng)參考:/1003/running-iis-express-withou

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論