版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、IISExpress的配置、使用和注意點(diǎn)VS2010的SP1弓I入了IISExpress支持,這是值得高興的事情。因?yàn)樽詭У腁SP.NetDevelopmentServer只能單站點(diǎn)運(yùn)行、不能設(shè)置虛擬目錄、多少個(gè)項(xiàng)目就會(huì)出現(xiàn)多少個(gè)等等等等巴拉巴拉,我對(duì)它恨之入骨,總之,很長(zhǎng)一段時(shí)間內(nèi)我進(jìn)行開發(fā)實(shí)際上都是用IIS的。但是用IIS有不方便的地方,就是必須開啟IISAdmin服務(wù),而且VS必須以管理員模式運(yùn)行才能正常打開項(xiàng)目和調(diào)試。每次都以管理員模式啟動(dòng)已經(jīng)比較麻煩了,比較郁悶的是,以管理員模式啟動(dòng)的vs處于特權(quán)狀態(tài),所以程序間的文件拖放就失效了換句話說,如果我想從資源管理器中直接拖一個(gè)文件到vs中
2、打開,就辦不到了。所以對(duì)IISExpress一直是比較期待的。本文包含內(nèi)容:1. 關(guān)于IISExpress的介紹2. IISExpress的配置文件中網(wǎng)站的配置3. 如何在VS2010中配置IISExpress4. 如何避免需要管理員身份啟動(dòng)IISExpress5. IISExpress比較有用的命令行參數(shù)1. 關(guān)于IISExpress的介紹在這篇文章中介紹了伴隨著ASP.netMVC3而來的新東西,其中就包含IISExpress7.5介紹如下:輕量,易于安裝,安裝包不到5M;從VS中啟動(dòng)、調(diào)試應(yīng)用程序不需要管理員身份;帶有完整的WEB服務(wù)器功能支持一支持SSL、URL回寫以及其它IIS7.x
3、的模塊;和IIS7.x完全一致的web.config配置模型;可以和IIS、ASP.netDevelopmentServer同時(shí)安裝,沒有任何沖突;支持XP及更高的操作系統(tǒng),在所有的系統(tǒng)上都提供IIS7.x一致的開發(fā)功能。關(guān)于IISExpress常規(guī)的安裝、使用,相關(guān)介紹的文章比較多,我就不多說了。這里說說沒怎么見人提的地方。2. 關(guān)于配置文件默認(rèn)情況下IISExpress使用的配置文件位于我的文檔"中,路徑如下:我的文檔IISConfig”其中,即plicationhost.config是核心的配置文件,它用于承載站點(diǎn)的定義、應(yīng)用程序和應(yīng)用程序池以及整個(gè)WEB服務(wù)器的配置。由于是放
4、在我的文檔中的,所以修改它不需要管理員權(quán)限,意味著可以直接修改。在修改后,下次啟動(dòng)應(yīng)用程序就會(huì)起效。在applicationhost.config內(nèi)容中,<system.applicationHost>用于定義網(wǎng)站和應(yīng)用程序池。默認(rèn)情況下,其內(nèi)容如下:1.2vsystem.applicationHost>厶.3.<applicationPools>4.<addname="Clr4lntegratedAppPool"managedRuntimeVersion="v4.0"managedPipelineMode="
5、;Integrated"CLRConfigFile="%IIS_USER_HOME%configaspnet.config"autoStart="true"/>5.<addname="Clr4ClassicAppPool"managedRuntimeVersion="v4.0"managedPipelineMode="Classic"CLRConfigFile="%IIS_USER_HOME%configaspnet.config"autoStart=&
6、quot;true"/>6.<addname="Clr2IntegratedAppPool"managedRuntimeVersion="v2.0"managedPipelineMode="Integrated"CLRConfigFile="%IIS_USER_HOME%configaspnet.config"autoStart="true"/>7.<addname="Clr2ClassicAppPool"managedRuntimeVers
7、ion="v2.0"managedPipelineMode="Classic"CLRConfigFile="%IISUSERHOME%configaspnet.config"auto-Start="true"/>8.<addname="UnmanagedClassicAppPool"managedRuntimeVersion=""managedPipelineMode="Classic"autoStart="true"/&g
8、t;9.<applicationPoolDefaultsmanagedRuntimeLoader="v4.0">10.<processModel/>11.</applicationPoolDefaults>12.13.</applicationPools>14.15.v!-i16.The<listenerAdapters>sectiondefinestheprotocolswithwhichthe17.18.WindowsProcessActivationService(WAS)binds.19.->20.v
9、listenerAdapters>21.<addname="http"/>22.23.</listenerAdapters>24.vsites>25.vsitename="WebSite1"id="1"serverAutoStart="true">26.vapplicationpath="/">i27.vvirtualDirectorypath="/"physicalPath="%IIS_SITES_HOME%WebS
10、ite1"/>28.v/application>29. vbindings>30. vbindingprotocol="http"bindinginformation=":8080:localhost"/>31. </bindings>32. </site>33. vapplicationDefaultsapplicationPool="Clr4lntegratedAppPool"/>34. vvirtualDirectoryDefaultsallowSubDirConf
11、ig="true"/>35. </sites>36.36. vwebLimits/>38.37. v/system.applicationHost>IISExpress內(nèi)建了五個(gè)應(yīng)用程序池,分別對(duì)應(yīng).Net2.0/4.0的集成/經(jīng)典模式、以及一個(gè)非托管程序池。默認(rèn)的程序池版本有vspplicationPoolDefaults>節(jié)來配置。vsites>節(jié)用于配置網(wǎng)站。網(wǎng)站的默認(rèn)應(yīng)用程序池和虛擬目錄默認(rèn)配置由vapplicationDefaults>和vvirtualDirectoryDefaults節(jié)點(diǎn)配置。以上的節(jié)點(diǎn)默認(rèn)情況下
12、我們并不需要太多關(guān)注,因?yàn)榇蠖鄶?shù)情況下我們需要關(guān)注的只有vsites>下的vsite>節(jié)點(diǎn),這里保存了網(wǎng)站、應(yīng)用程序的定義,才是我們需要真正關(guān)心的。 .每個(gè)vsite>就是一個(gè)網(wǎng)站。這和IIS中的網(wǎng)站是一樣的概念。serverAutoStart設(shè)置了是否隨著IISExpress的啟動(dòng)而自動(dòng)啟動(dòng)。如果設(shè)置為true,那么每次IISExpress啟動(dòng)都會(huì)自動(dòng)加載(如果沒有指定網(wǎng)站的話),否則只有以指定特定網(wǎng)站的模式運(yùn)行時(shí)才會(huì)加載。使用IISExpress加載特定網(wǎng)站的語(yǔ)法是:IISExpress.exe/site:v站點(diǎn)名>.vsite>下的vbindings>
13、設(shè)置了這個(gè)站點(diǎn)的綁定信息。節(jié)點(diǎn)下的每個(gè)vbinding>都是一個(gè)端口綁定信息。典型的綁定配置如下:vbindingprotocol="http"bindinglnformation="*:8080:localhost"/>protocol指定了綁定的協(xié)議類型(IISExpress內(nèi)建了HTTP和HTTPS兩種協(xié)議支持),而“*:8080:localhost則指定的綁定的具體信息,它有三個(gè)部分組成:綁定的IP:端口:主機(jī)名”默認(rèn)情況下,綁定到任何本地IP、非保留端口、綁定到localhost。注意這個(gè)localhost,有講究,特定情況下可能會(huì)
14、導(dǎo)致你很困惑,請(qǐng)參考本文后面的內(nèi)容。 .<application>這個(gè)節(jié)設(shè)置了網(wǎng)站的應(yīng)用程序每個(gè)網(wǎng)站都需要至少一個(gè)映射路徑為“/應(yīng)用程序(它映射到根目錄)。除此之外,你可以繼續(xù)添加并行的不同路徑的vapplication>,這就類似于IIS中的網(wǎng)站里配置的應(yīng)用程序。例如,在FishSite這個(gè)網(wǎng)站中,我需要添加一個(gè)單獨(dú)的應(yīng)用程序,映射到根目錄下的fish目錄,那么我就可以這樣配置:1. <sitename="FishSite"id="2">2. vapplicationpath="/"applicatio
15、nPool="Clr2lntegratedAppPool">3. vvirtualDirectorypath="/"physicalPath="<網(wǎng)站的根目錄>"/>4. </application>5. vapplicationpath="/fish"applicationPool="Clr2IntegratedAppPool">6. vvirtualDirectorypath="/"physicalPath="<此
16、應(yīng)用程序的根目錄"/>7. vvirtualDirectorypath="/content/"physicalPath="</fish/content/目錄對(duì)應(yīng)的虛擬目錄>"/>8. v/application>9. vbindings>10. vbindingprotocol="http"bindinginformation="*:5000:localhost"/>11. v/bindings>12. v/site>在vsite中,只有path=&q
17、uot;/"這個(gè)應(yīng)用程序是必須的(不能缺少),其它都是可以任意添加的。 .vvirtualDirectory設(shè)置了目錄的映射信息參見上面展示的代碼。在每個(gè)vapplication節(jié)下,必須至少存在一個(gè)path="/"的virtualDirectory,它代表了這個(gè)目錄映射的位置。除此之外,可以手動(dòng)添加多個(gè)映射的路徑不同的虛擬目錄。3. 關(guān)于虛擬目錄的支持IISExpress支持虛擬目錄,這是對(duì)我來說很重要的一個(gè)改進(jìn),因?yàn)閷?shí)際的項(xiàng)目中經(jīng)常有很多目錄是共享的,比如上傳目錄、配置文件目錄等等,在ASP.netDevelopmentServer中這些都是辦不到的。IISE
18、xpress的站點(diǎn)模型和IIS是一致的,最基本的是站點(diǎn),站點(diǎn)下可以區(qū)分應(yīng)用程序、虛擬目錄。配置文件中如何手動(dòng)創(chuàng)建它們,請(qǐng)參考上節(jié)中的介紹自行創(chuàng)建。在VS中如何創(chuàng)建呢? ,將使用IIS或ASP.netDevelopmentServer的項(xiàng)目遷移到IISExpress上注意:你需要安裝VS2010SP1來讓VS2010支持IISExpress。在解決方案管理器”中右擊網(wǎng)站項(xiàng)目,并選擇使用IISExpress.即可:使用USExprsCU)-,.iSiSCG)VS會(huì)使用一個(gè)新的默認(rèn)端口在IISExpress中創(chuàng)建網(wǎng)站。 ,如果你想要將當(dāng)前項(xiàng)目作為一個(gè)虛擬目錄映射到現(xiàn)有的某個(gè)站點(diǎn)或新網(wǎng)站的根目錄下,那
19、么推薦在項(xiàng)目屬性中更改(項(xiàng)目屬性-WEB):便臣本:EMWeb竝器L初億用IlfExpresS(X)輸入完成后,直接點(diǎn)擊創(chuàng)建虛擬目錄”即可完成轉(zhuǎn)換操作。VS將會(huì)自動(dòng)在本機(jī)的IISExpress中完成配置。IISExpress承載網(wǎng)站 ,如果想映射到一個(gè)本地目錄(比如資源共享,上傳目錄等)到的應(yīng)用程序下那么可以參考上面介紹的配置文件手動(dòng)更改。貌似IISExpress中的appcmd也可以更改,不過個(gè)人覺得這類簡(jiǎn)單的配置,直接編輯就搞定了,用appcmd的話還需要先去學(xué)習(xí)怎么用它,怪麻煩的。例子可以參考前面相關(guān)的內(nèi)容。4. 關(guān)于管理員身份啟動(dòng)IISExpress設(shè)計(jì)是為了避免需要管理員權(quán)限就能完成
20、大部分操作的。但是個(gè)別情況下它會(huì)要需要管理員權(quán)限才能運(yùn)行(我當(dāng)時(shí)在這里就栽了跟頭,研究了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è)計(jì)為保留端口,如果IISExpress需要綁定到這些端口,則需要它擁有管理員權(quán)限,否則就會(huì)失敗。錯(cuò)誤類似這樣:C!PirogramFilesieexpress,exe/site.
21、Fisli£ii.eUSEkpfsee.He;gistrationconipletd£rsite!Yi5hSite"反映到系統(tǒng)的日志中,就是這樣的錯(cuò)誤:日刪時(shí)間WtlD2011-03-20OO;1S:16USExpress2276無(wú)2011-03-2000:18:15UgExpress2269無(wú)i償目QairiifiHj-CDDQHN朝牛22旳rUSExpress帛規(guī)詳堀信息在要汶開始處理http請(qǐng)求時(shí).應(yīng)用閔序池uClr2IntegratedAppPooI"的Hft進(jìn)稈P】D二侏能初始化http,叩組視為盅舒旖It,咖字段包含幘號(hào).|要解決這個(gè)問題,很
22、簡(jiǎn)單,只要將端口綁定到非保留端口即可(大于1024),或使用管理員身份啟動(dòng)它備注1。 ,綁定了其它域名默認(rèn)情況下,IISExpress只能綁定到localhost。如果需要綁定到具體的域名供外部訪問而又沒有解決方案,那么就會(huì)遭遇到失敗的問題。要解決,也很簡(jiǎn)單一一就是使用管理員身份啟動(dòng)它備注J,使用了HTTPS,但是端口不在44300-44399之內(nèi)IISExpress用于承載HTTPS站點(diǎn)測(cè)試時(shí),端口會(huì)限制在44300-44399之內(nèi),這同樣是操作系統(tǒng)的限制。如果超過了這個(gè)范圍,則需要以管理員身份啟動(dòng)它才能正常工作備注5 ,使用了自己的SSL證書的HTTPSIISExpress默認(rèn)會(huì)安裝一個(gè)測(cè)
23、試的自簽名證書用于開發(fā),這允許開發(fā)人員在沒有SSL證書的情況下進(jìn)行開發(fā)。但是如果站點(diǎn)使用了自己的SSL證書,則會(huì)導(dǎo)致IISExpress需要管理員身份才能啟動(dòng)備注J5. 關(guān)于命令行啟動(dòng)選項(xiàng),使用自己的config文件默認(rèn)情況下IISExpress會(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)IISExpress使用此命令行啟動(dòng),就省去了每次牽出項(xiàng)目還得配置IISExp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高新企業(yè)培訓(xùn)課件
- 贛南衛(wèi)生健康職業(yè)學(xué)院《建筑設(shè)計(jì)基礎(chǔ)一》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南師范大學(xué)《學(xué)校社會(huì)工作》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛東學(xué)院《IP路由與交換技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《醫(yī)院銷售技巧培訓(xùn)》課件
- 七年級(jí)道德與法治上冊(cè)第一單元成長(zhǎng)的節(jié)拍第三課發(fā)現(xiàn)自己第2框做更好的自己說課稿新人教版
- 三年級(jí)科學(xué)上冊(cè)第六單元人與大地17砂和黏土教案首師大版
- 科學(xué)課件圖片小學(xué)生
- 三年級(jí)下學(xué)期班主任工作參考計(jì)劃
- 大數(shù)據(jù)時(shí)代會(huì)計(jì)從業(yè)人員素質(zhì)提升策略分析
- 中餐烹飪實(shí)訓(xùn)室安全隱患分析
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 中醫(yī)藥養(yǎng)生保健服務(wù)方案設(shè)計(jì)
- 2024年菏澤單州市政工程集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 肺栓塞指南解讀
- 教育創(chuàng)新智慧課堂賦能學(xué)習(xí)
- 園林綠化員工培訓(xùn)課件
- 數(shù)據(jù)分析控制程序(修改)-y
- 《雷達(dá)對(duì)抗原理》課件
- 七年級(jí)數(shù)學(xué)(上)有理數(shù)混合運(yùn)算100題(含答案)
- 《CT檢查技術(shù)》課件-CT圖像后處理
評(píng)論
0/150
提交評(píng)論