Iis

如何在 IIS7 中設置 App_Code 虛擬目錄?

  • September 10, 2009

在 IIS6 中,您不能將 App _Code 目錄設置為虛擬目錄。

但是,我發現您可以在 App _Code 目錄中設置一個虛擬目錄,IIS6 會將程式碼編譯到 __code 程序集中。

似乎 IIS7 不會這樣做,但我想知道是否有不同的方法可以在 IIS7 中跨多個站點共享程式碼目錄。

一個可行的選擇是為公共原始碼目錄創建一個連接,但我真的很喜歡虛擬目錄選項,並且根據定義,程式碼自動無法通過 FTP 訪問。

推薦的?可能不是。非法的?可能是。可能的?是的。

您可以在 IIS7 中託管的基於 ASP.Net 文件的網站的 App_Code 目錄中使用虛擬目錄。

在磁碟上創建空路徑

首先,創建一個類似於以下路徑的文件結構,其中“MyWebRoot”是您網站的根目錄,“MySharedCode”是您希望包含共享 *.cs 或 *.vb 原始碼的虛擬目錄的名稱文件。

E:\MyWebRoot\App_Code\MySharedCode

用虛擬目錄屏蔽物理路徑

接下來,打開 Internet 資訊服務 (IIS) 管理器並在伺服器的“站點”節點下找到您的站點。

點擊站點名稱旁邊的加號以展開站點。您將看到列出的頂級目錄。

右鍵點擊“App_Code”目錄並選擇“添加虛擬目錄…”(見截圖)

IIS 虛擬目錄對話框截圖

在“別名”文本框中鍵入共享程式碼虛擬目錄的名稱。此名稱必須與您在 App_Code 目錄中創建的空文件夾的名稱相匹配。

最後,在“物理路徑”文本框中輸入共享程式碼位置的實際路徑。

點擊“確定”完成創建虛擬目錄。

下次您瀏覽該站點時,IIS 應該編譯位於您的虛擬目錄引用的物理路徑中的文件。

注意:您可能需要重置 IIS 或“觸摸”Web.Config 文件以啟動該過程。

開始 > 執行 > iisreset

顯然,IIS 優先考慮虛擬目錄的內容,但它需要物理路徑的存在才能促使其​​編譯。

引用自:https://serverfault.com/questions/61834