C#实现获取IIS站点及虚拟目录信息的方法
更新时间:2015年10月06日 16:13:21 作者:蓝图
这篇文章主要介绍了C#实现获取IIS站点及虚拟目录信息的方法,可实现获取IIS站点信息及物理路径等功能,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#实现获取IIS站点及虚拟目录信息的方法。分享给大家供大家参考。具体如下:
using System; using System.DirectoryServices; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { DirectoryEntry rootEntry = new DirectoryEntry("IIS://localhost/w3svc"); int siteID = 1; foreach (DirectoryEntry entry in rootEntry.Children) { if (entry.SchemaClassName.Equals("IIsWebServer", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Name: {0}", entry.Name); Console.WriteLine("Path: {0}", IISWorker.GetWebsitePhysicalPath(entry)); Console.WriteLine("ServerBindings: {0}", entry.Properties["ServerBindings"].Value); Console.WriteLine(); DirectoryEntry virEntry = new DirectoryEntry(entry.Path + "/ROOT"); foreach (DirectoryEntry entryVirtual in virEntry.Children) { if (entryVirtual.SchemaClassName.Equals("IIsWebVirtualDir", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("SchemaClassName: {0}", entryVirtual.SchemaClassName); Console.WriteLine("Name: {0}", entryVirtual.Name); Console.WriteLine("Path: {0}", entryVirtual.Properties["Path"].Value); Console.WriteLine(); } } int ID = Convert.ToInt32(entry.Name); if (ID >= siteID) { siteID = ID + 1; } } } } } public class IISWorker { /// <summary> /// 得到网站的物理路径 /// </summary> /// <param name="rootEntry">网站节点</param> /// <returns></returns> public static string GetWebsitePhysicalPath(DirectoryEntry rootEntry) { string physicalPath = ""; foreach (DirectoryEntry childEntry in rootEntry.Children) { if ((childEntry.SchemaClassName == "IIsWebVirtualDir") && (childEntry.Name.ToLower() == "root")) { if (childEntry.Properties["Path"].Value != null) { physicalPath = childEntry.Properties["Path"].Value.ToString(); } else { physicalPath = ""; } } } return physicalPath; } } }
希望本文所述对大家的C#程序设计有所帮助。
相关文章
深入分析NTFS中文件被锁定导致Process.Start失败的详解
本篇文章是对NTFS中文件被锁定导致Process.Start失败进行了详细的分析介绍,需要的朋友参考下2013-05-05C# 计算DataTime的4种时间差的方法(相差天数、相差小时、相差分钟、相差秒)
这篇文章主要介绍了C# 计算DataTime的4种时间差(相差天数、相差小时、相差分钟、相差秒),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-05-05
最新评论