IIS Express配置虛擬目錄及常用功能配置
本篇文章主要介紹: 通過配置 IIS Express IIS10.0,實現虛擬目錄訪問站點。
需求:
- 當我們的站點足夠成熟時,一個域名往往有許多子站點, 這時候需要我們配置虛擬目錄;
- 或者說一個解決方案下,有多個專案共用一個域名時,也需要配置虛擬目錄,來訪問不同的專案;
解決方案:
上一篇文章中,已經介紹了 使用 通過修改配置檔案,實現IIS Express 釋出、除錯站點,本篇文章繼續介紹,建立虛擬目錄。
建立虛擬目錄,仍然需要 修改 applicationhost.config檔案(路徑:WebApplication.vs\config)
//WebApplication 為解決方案名稱
//專案結構如下圖
//配置如下,需要配置兩個專案(WebApplication 和 MainApp),修改配置檔案
初始配置
虛擬目錄,需求如下:
使用 wys.test.com 為根目錄,物理路徑為:D:\MyProject\ASP.NET\WebApplication
使用 wys.test.com/web/ (埠號為:20635)對應 WebApp專案,物理路徑為:WebApplication\WebApp
使用 wys.test.com/api/ (埠號為:20635)對應WebAPI專案,物理路徑為:WebApplication\MainAPI
具體配置,如下圖:
配置分析
總體來說,我們如果想要建立虛擬目錄,那麼很簡單,只需要在配置檔案中,在Site節點中,增加一個Application節點,在Application節點中,path屬性增加虛擬目錄就可以了。
<application path="/web" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\MyProject\ASP.NET\WebApplication\WebApp" />
</application>
<application path="/api" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\MyProject\ASP.NET\WebApplication\MainAPI" />
</application>
但是有一個注意的項是,一定要新增 Application節點,不能直接在application節點中,新增一個VituralDirectory節點,這樣是會報錯的。
下面這樣新增節點,配置路徑是不對的!!!,會報出如下錯誤
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\MyProject\ASP.NET\WebApplication\" />
<virtualDirectory path="/web" physicalPath="D:\MyProject\ASP.NET\WebApplication\WebApp" />
<virtualDirectory path="/api" physicalPath="D:\MyProject\ASP.NET\WebApplication\MainAPI" />
</application>
配置錯誤
錯誤內容: “/”應用程式中的伺服器錯誤。 配置錯誤 說明:
在處理向該請求提供服務所需的配置檔案時出錯。請檢查下面的特定錯誤詳細資訊並適當地修改配置檔案。 分析器錯誤訊息:
在應用程式級別之外使用註冊為 allowDefinition=’MachineToApplication’ 的節是錯誤的。如果在 IIS
中沒有將虛擬目錄配置為應用程式,則可能導致此錯誤。
IIS Express 其他配置
iis 7.5 中常用的配置截圖,在 Express版本里,我們都可以找到
一、 開啟目錄瀏覽許可權,需要修改一下節點,配置完成之後,就可以瀏覽我們的根目錄了
<directoryBrowse enabled="true" />
二、 預設文件修改
<defaultDocument enabled="true">
<files>
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index.html" />
<add value="iisstart.htm" />
<add value="default.aspx" />
</files>
</defaultDocument>
總之,我們在 IIS 7.5中,常用的功能,在IIS Express 配置中,都可以找到。只不過相對於 IIS,他沒有視覺化的介面罷了,但是對於我們直接在 VS中除錯還是比較方便的。
關於網站的釋出可以參考上一篇文章: