[英]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.