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#程序设计有所帮助。
相关文章
C#中Predicate<T>与Func<T, bool>泛型委托的用法实例
这篇文章主要介绍了C#中Predicate<T>与Func<T, bool>泛型委托的用法,指出了其用法中的误区及易错点,有助于更好的理解泛型委托的用法,需要的朋友可以参考下2014-09-09.NET使用IResourceMonitor实现获取资源信息
在 Microsoft.Extensions.Diagnostics.ResourceMonitoring 包提供了一系列定制 API,专用于监视 .NET 应用程序的资源利用率,本文将利用IResourceMonitor来实现获取资源状态信息,感兴趣的可以了解下2024-01-01WinForm使用DataGridView实现类似Excel表格的查找替换功能
这篇文章主要介绍了WinForm使用DataGridView实现类似Excel表格的查找替换功能,现在小编通过本文给大家分享查找替换实现过程,需要的朋友可以参考下2021-07-07
最新评论