点晴MIS内部交流论坛 加入收藏
新手上路
论坛搜索
 您的位置:点晴MIS系统问题答疑『 技术文档交流 』浏览当前帖子  
登 陆注 册论坛帮助  

  网站搜索
  搜索范围: 搜索方式: 关键词(可用空格分开)  

  作者及文章信息: 本文热度:5045 % 
admin

积分:74803
等级:网站管理员
文数:13698
注册:2004-7-20

 信息   留言   主页   编辑   引用    

楼 顶 

 C#取得iis站点子站点和应用程序池的信息


/// <summary>
/// 获取当前IIS站点列表
/// </summary>
/// <returns></returns>
public static List<IISStationInfo> GetLocalIISStations()
{
    List<IISStationInfo> re = new List<IISStationInfo>();
    string entPath = "IIS://localhost/w3svc";
    DirectoryEntry ent = new DirectoryEntry(entPath);
    foreach (DirectoryEntry child in ent.Children)
    {
        if (child.SchemaClassName == "IIsWebServer")
        {
            IISStationInfo item = new IISStationInfo();
            item.ID = child.Name;
            item.Name = child.Properties["ServerComment"].Value.ToString();
            DirectoryEntry root = new DirectoryEntry(entPath + "/" + item.ID + "/ROOT");
            item.Path = root.Properties["Path"].Value.ToString();
            item.AppList = new List<IISAppInfo>(16);
            foreach (DirectoryEntry app in root.Children)
            {
                if (app.SchemaClassName == "IIsWebVirtualDir")
                {
                    IISAppInfo appitem = new IISAppInfo();
                    appitem.Name = app.Name;
                    appitem.ID = app.NativeGuid;
                    appitem.Path = app.Properties["Path"].Value.ToString();
                    appitem.AppName = app.Properties["AppPoolId"].Value.ToString();
                    item.AppList.Add(appitem);
                }
            }
            re.Add(item);
        }
    }
    return re;
}
/// <summary>
/// IIS站点数据封装
/// </summary>
public class IISStationInfo
{
 /// <summary>
 /// 站点名
 /// </summary>
 public string Name { get; set; }
 /// <summary>
 /// 站点指定路径
 /// </summary>
 public string Path { get; set; }
 /// <summary>
 /// 站点标识符
 /// </summary>
 public string ID { get; set; }
 /// <summary>
 /// 站点包含的应用程序,虚拟路径等
 /// </summary>
 public List<IISAppInfo> AppList { get; set; }
}
/// <summary>
/// IIS应用程序子站点数据封装
/// </summary>
public class IISAppInfo
{
 /// <summary>
 /// 站点
 /// </summary>
 public string Name { get; set; }
 /// <summary>
 /// 站点的制定路径
 /// </summary>
 public string Path { get; set; }
 /// <summary>
 /// 站点的站点标识符
 /// </summary>
 public string ID { get; set; }
 /// <summary>
 /// 站点的应用程序名称
 /// </summary>
 public string AppName { get; set; }
}

该文章在 2018/9/8 15:46:34 编辑过

  离 线  2018-9-8 15:46:33 
  本文章共有 0 页, 0 张回文,每页有 10 张回文 >> [ ]
页码:  
Copyright 2003-2024 ClickSun All Rights Reserved