簡體   English   中英

如何列出和創建所有 IIS 網站、網站中的文件夾和 C# 中的虛擬 web 目錄

[英]How do I list and create all IIS websites, folders in the websites and virtual web directories in C#

我試圖首先列出所有 IIS 網站和每個文件夾/虛擬 web 目錄(在樹視圖中)。 然后之后我想允許用戶 select 任何上述節點並在那里創建一個新的虛擬 web 目錄。 如果我知道我計划使用的路徑,我可以創建一個虛擬 web 目錄,但我無法獲得網站中的文件夾/虛擬 web 目錄的列表(我可以獲得網站列表)。

使用 System.DirectoryServices 從 IIS 獲取 web 站點。 您可以在以下 URL 找到類似的討論

http://channel9.msdn.com/forums/TechOff/78084-Extracting-list-of-web-sites-from-IIS-manager/

有趣的是,我只是需要為 IIS 7.5 執行此操作,我創建了一個 class IisSiteApplication 具有我想要的主要屬性

using Microsoft.Web.Administration;


 public class IisSiteApplicationList : List<IisSiteApplication>
    {
        public IisSiteApplicationList()
        {
            ServerManager iisManager = new ServerManager();
            SiteCollection sites = iisManager.Sites;
            foreach (Site iisSite in sites)
            {
                foreach (Application iisApp in iisSite.Applications)
                {
                    IisSiteApplication app = new IisSiteApplication
                        {
                            SiteId = iisSite.Id,
                            SiteName = iisSite.Name,
                             AppName = iisApp.ToString(),
                            ApplicationPoolName = iisApp.ApplicationPoolName,
                            Directories =
                                String.Join(";", iisApp.VirtualDirectories.Select(a =>   a.PhysicalPath).ToArray())
                        };
                    Add(app);
                }
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM