成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

IIS Express的詳細配置

詳解IIS Express的詳細配置、使用和注意事項 (轉(zhuǎn)載) 今天我們將介紹的是IIS Express的詳細配置、使用和注意事項,包括在Visual Studio 2010下的配置等等。 Visua

詳解IIS Express的詳細配置、使用和注意事項 (轉(zhuǎn)載) 今天我們將介紹的是IIS Express的詳細配置、使用和注意事項,包括在Visual Studio 2010下的配置等等。 Visual Studio 2010的SP1引入了IIS Express支持,這是值得高興的事情……因為自帶的ASP.net Development Server只能單站點運行、不能設(shè)置虛擬目錄、多少個項目就會出現(xiàn)多少個等等等等巴拉巴拉,我對它恨之入骨,總之,很長一段時間內(nèi)我進行開發(fā)實際上都是用IIS 的。但是用IIS 有不方便的地方,就是必須開啟IIS Admin服務(wù),而且VS 必須以管理員模式運行才能正常打開項目和調(diào)試。每次都以管理員模式啟動已經(jīng)比較麻煩了,比較郁悶的是,以管理員模式啟動的vs 處于特權(quán)狀態(tài),所以程序間的文件拖放就失效了……換句話說,如果我想從資源管理器中直接拖一個文件到vs 中打開,就辦不到了。

所以對IIS Express一直是比較期待的。

本文包含內(nèi)容:

1. 關(guān)于IIS Express的介紹

2.IIS Express的配置文件中網(wǎng)站的配置

3. 如何在Visual Studio 2010中配置IIS Express

4. 如何避免需要管理員身份啟動IIS Express

5.IIS Express比較有用的命令行參數(shù)

1. 關(guān)于IIS Express的介紹

Scottgu 在這篇文章中介紹了伴隨著ASP.NET MVC 3而來的新東西,其中就包含IIS Express 7.5,介紹如下:

輕量,易于安裝,安裝包不到5M ;

從Visual Studio中啟動、調(diào)試應(yīng)用程序不需要管理員身份;

帶有完整的WEB 服務(wù)器功能支持——支持SSL 、URL 回寫以及其它IIS7.x 的模塊 和IIS7.x 完全一致的web.config 配置模型

可以和IIS 、ASP.net Development Server 同時安裝,沒有任何沖突

支持XP 及更高的操作系統(tǒng),在所有的系統(tǒng)上都提供IIS7.x 一致的開發(fā)功能

關(guān)于IIS Express常規(guī)的安裝、使用,相關(guān)介紹的文章比較多,我就不多說了。這里說說沒怎么見人提的地方。

,

2. 關(guān)于配置文件

默認情況下IIS Express使用的配置文件位于“我的文檔”中,路徑如下:“我的文檔IIS ExpressConfig”。其中,applicationhost.config 是核心的配置文件,它用于承載站點的定義、應(yīng)用程序和應(yīng)用程序池以及整個WEB 服務(wù)器的配置。由于是放在我的文檔中的,所以修改它不需要管理員權(quán)限,意味著可以直接修改。在修改后,下次啟動應(yīng)用程序就會起效。

在applicationhost.config 內(nèi)容中, 用于定義網(wǎng)站和應(yīng)用程序池。默認情況下,其內(nèi)容如下:

IIS Express 內(nèi)建了五個應(yīng)用程序池,分別對應(yīng).Net 2.0/4.0的集成/經(jīng)典模式、以及一個非托管程序池。默認的程序池版本有 節(jié)來配置。 節(jié)用于配置網(wǎng)站。網(wǎng)站的默認應(yīng)用程序池和虛擬目錄默認配置由

節(jié)點配置。以上的節(jié)點默認情況下我們并不需要太多關(guān)注,因為大多數(shù)情況下我們需要關(guān)注的只有 下的 節(jié)點,這里保存了網(wǎng)站、應(yīng)用程序的定義,才是我們需要真正關(guān)心的。

①. 每個 就是一個網(wǎng)站。

這和IIS 中的網(wǎng)站是一樣的概念。serverAutoStart 設(shè)置了是否隨著 IIS Express的啟動而自動啟動。如果設(shè)置為true ,那么每次 IIS Express 啟動都會自動加載(如果沒有指定網(wǎng)站的話),否則只有以指定特定網(wǎng)站的模式運行時才會加載。

使用IIS Express加載特定網(wǎng)站的語法是: IISExpress.exe /site:<站點名>

②. 下的設(shè)置了這個站點的綁定信息。

節(jié)點下的每個都是一個端口綁定信息。典型的綁定配置如下:

protocol 指定了綁定的協(xié)議類型(IIS Express內(nèi)建了 HTTP 和 HTTPS 兩種協(xié)議支持),而“*:8080:localhost”則指定的綁定的具體信息,它有三個部分組成:“綁定的IP:端口:主機名”。默認情況下,綁定到任何本地IP 、非保留端口、綁定到localhost 。注意這個localhost ,有講究,特定情況下可能會導(dǎo)致你很困惑,請參考本文后面的內(nèi)容。

③. 這個節(jié)設(shè)置了網(wǎng)站的應(yīng)用程序

每個網(wǎng)站都需要至少一個映射路徑為“/”應(yīng)用程序(它映射到根目錄)。除此之外,你可以繼續(xù)添加并行的不同路徑的 ,這就類似于IIS 中的網(wǎng)站里配置的應(yīng)用程序。

例如,在FishSite 這個網(wǎng)站中,我需要添加一個單獨的應(yīng)用程序,映射到根目錄下的fish 目錄,那么我就可以這樣配置:

,

中,只有 path="/" 這個應(yīng)用程序是必須的(不能缺少),其它都是可以任意添加的。

④. 設(shè)置了目錄的映射信息

參見上面展示的代碼。在每個節(jié)下,必須至少存在一個 path="/" 的

virtualDirectory ,它代表了這個目錄映射的位置。除此之外,可以手動添加多個映射的路徑不同的虛擬目錄。

3. 關(guān)于虛擬目錄的支持

IIS Express支持虛擬目錄,這是對我來說很重要的一個改進,因為實際的項目中經(jīng)常有很多目錄是共享的,比如上傳目錄、配置文件目錄等等,在ASP.net Development Server中這些都是辦不到的。

IIS Express的站點模型和IIS 是一致的,最基本的是站點,站點下可以區(qū)分應(yīng)用程序、虛擬目錄。

配置文件中如何手動創(chuàng)建它們,請參考上節(jié)中的介紹自行創(chuàng)建。在VS 中如何創(chuàng)建呢? ①,將使用IIS 或ASP.net Development Server的項目遷移到IIS Express上

注意:你需要安裝Visual Studio 2010 SP1來讓Visual Studio 2010支持IIS Express。 在“解決方案管理器”中右擊網(wǎng)站項目,并選擇“使用IIS Express….”即可:

498)this.width=498;">

Visual Studio會使用一個新的默認端口在IIS Express中創(chuàng)建網(wǎng)站。

②,如果你想要將當前項目作為一個虛擬目錄映射到現(xiàn)有的某個站點或新網(wǎng)站的根目錄下,那么推薦在項目屬性中更改(項目屬性-WEB ):

498)this.width=498;">

輸入完成后,直接點擊“創(chuàng)建虛擬目錄”即可完成轉(zhuǎn)換操作。VS 將會自動在本機的IIS Express 中完成配置。

,

③,如果想映射到一個本地目錄(比如資源共享,上傳目錄等)到IIS Express承載網(wǎng)站的應(yīng)用程序下

那么可以參考上面介紹的配置文件手動更改。貌似IIS Express 中的 appcmd 也可以更改,不過個人覺得這類簡單的配置,直接編輯就搞定了,用 appcmd 的話還需要先去學(xué)習(xí)怎么用它,怪麻煩的。

例子可以參考前面相關(guān)的內(nèi)容。

4. 關(guān)于管理員身份啟動

IIS Express設(shè)計是為了避免需要管理員權(quán)限就能完成大部分操作的。但是個別情況下它會要需要管理員權(quán)限才能運行(我當時在這里就栽了跟頭,研究了N 久)。這類的限制包括:

綁定到了保留的端口(通常位于1024以下的端口,如80、88、443等);

沒有綁定localhost ,而是綁定了域名或其它內(nèi)容;

使用了HTTPS ,但是端口不在44300-44399范圍內(nèi);

使用了自己的SSL 證書的HTTPS 。

①,使用了保留的端口

通常操作系統(tǒng)的HTTP.sys (網(wǎng)絡(luò)內(nèi)核)將1024以下的端口設(shè)計為保留端口,如果IIS Express 需要綁定到這些端口,則需要它擁有管理員權(quán)限,否則就會失敗。錯誤類似這樣: 498)this.width=498;">

反映到系統(tǒng)的日志中,就是這樣的錯誤:

,

498)this.width=498;">

要解決這個問題,很簡單,只要將端口綁定到非保留端口即可(大于1024),或使用管理員身份啟動它備注1。

②,綁定了其它域名

默認情況下,IIS Express只能綁定到 localhost 。如果需要綁定到具體的域名供外部訪問而又沒有解決方案,那么就會遭遇到失敗的問題。

要解決,也很簡單——就是使用管理員身份啟動它備注1。

③,使用了HTTPS ,但是端口不在 44300-44399之內(nèi)

IIS Express用于承載HTTPS 站點測試時,端口會限制在44300-44399之內(nèi),這同樣是操作系統(tǒng)的限制。如果超過了這個范圍,則需要以管理員身份啟動它才能正常工作備注1。

④,使用了自己的SSL 證書的HTTPS

IIS Express默認會安裝一個測試的自簽名證書用于開發(fā),這允許開發(fā)人員在沒有SSL 證書的情況下進行開發(fā)。但是如果站點使用了自己的SSL 證書,則會導(dǎo)致IIS Express需要管理員身份才能啟動備注1。

5. 關(guān)于命令行啟動選項

①,使用自己的config 文件

默認情況下IIS Express會使用在“我的文檔”中保存的 applicationhost.config 。但是如果我們以命令行模式啟動它,則可以指定配置文件的路徑。

命令行是: iisexpress /config:<配置文件路徑>

對于團隊開發(fā),這會比較有用,比如創(chuàng)建全局的config 簽入到源代碼管理中,這樣能同步全局的服務(wù)器目錄結(jié)構(gòu)配置(當然,如果小項目或者沒有目錄映射的話就沒多大意義了)。啟動IIS Express使用此命令行啟動,就省去了每次牽出項目還得配置IIS Express的麻煩(同時,開發(fā)服務(wù)器的配置可以直接保存到項目中,也就避免了每個人的開發(fā)服務(wù)器可能有差別)。

,

這種情況下,調(diào)試可以使用VS 的“附加到進程”來完成。

②,啟動一個臨時網(wǎng)站

有些情況下,我們需要啟動一個臨時的網(wǎng)站(比如快速創(chuàng)建一個臨時服務(wù)器等),便可以用類似的命令行來創(chuàng)建:

iisexpress /path:<網(wǎng)站目錄> /port:<端口> /clr:

iis express會復(fù)制一份配置文件到臨時目錄,并變更其中的站點信息后再啟動,因此不會影響到本機已經(jīng)配置的網(wǎng)站。

6. 結(jié)束語

IIS Express的出現(xiàn)讓我著實高興了一番,相比 ASP.net Development Server的過于簡單、使用IIS 每次都要以管理員身份啟動Visual Studio來說,IIS Express給我們提供了一個很好的折衷方案。

來自: http://hi.baidu.com/zsw332105net/blog/item/93316b2b2e6dd68e033bf6e9.html

標簽: