1. 程式人生 > >IIS Express配置虛擬目錄及常用功能配置

IIS Express配置虛擬目錄及常用功能配置

本篇文章主要介紹: 通過配置 IIS Express IIS10.0,實現虛擬目錄訪問站點。

需求:

  • 當我們的站點足夠成熟時,一個域名往往有許多子站點, 這時候需要我們配置虛擬目錄;
  • 或者說一個解決方案下,有多個專案共用一個域名時,也需要配置虛擬目錄,來訪問不同的專案;

解決方案:

上一篇文章中,已經介紹了 使用 通過修改配置檔案,實現IIS Express 釋出、除錯站點,本篇文章繼續介紹,建立虛擬目錄。

建立虛擬目錄,仍然需要 修改 applicationhost.config檔案(路徑:WebApplication.vs\config

//WebApplication 為解決方案名稱
//專案結構如下圖

IIS Express 專案結構

//配置如下,需要配置兩個專案(WebApplication 和 MainApp),修改配置檔案
  • 初始配置
    這裡寫圖片描述

  • 虛擬目錄,需求如下:

    1. 使用 wys.test.com 為根目錄,物理路徑為:D:\MyProject\ASP.NET\WebApplication

    2. 使用 wys.test.com/web/ (埠號為:20635)對應 WebApp專案,物理路徑為:WebApplication\WebApp

    3. 使用 wys.test.com/api/ (埠號為:20635)對應WebAPI專案,物理路徑為:WebApplication\MainAPI

  • 具體配置,如下圖:

    IIS Express 虛擬目錄訪問

配置分析

總體來說,我們如果想要建立虛擬目錄,那麼很簡單,只需要在配置檔案中,在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 Express 其他配置

  • iis 7.5 中常用的配置截圖,在 Express版本里,我們都可以找到

    IIS 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中除錯還是比較方便的。

關於網站的釋出可以參考上一篇文章: