您的位置:首页 > 编程语言 > C#

C#实现获取IIS站点及虚拟目录信息的方法

2017-07-31 08:16 691 查看
这篇文章主要介绍了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#程序设计有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: