请问如何遍历指定服务器的IIS网站目录 是否需要判断是win 2000还是win 2003? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 连接字符串 /// </summary> private string _connectString { get { return "IIS://" + comboxIp.Items[comboxIp.SelectedIndex].ToString() + "/W3SVC"; } } /// <summary> /// 程序池字符串 /// </summary> private string _poolString { get { return _connectString + "/AppPools"; } } public FormMain() { InitializeComponent(); InitApp(); } /// <summary> /// 初始化 /// </summary> private void InitApp() { comboxIp.Items.Add("localhost"); comboxIp.SelectedIndex = 0; //comboxPoolList.Items.AddRange(enumSite()); comboxPoolList.Items.AddRange(enumPool()); if (comboxPoolList.Items.Count > 0) { comboxPoolList.SelectedIndex = 0; } BindListView(); } private void BindListView() { listIIS.Items.Clear(); listIIS.Columns.Clear(); listIIS.Columns.Add("索引", 50); listIIS.Columns.Add("站点名称", 100); listIIS.Columns.Add("状态", 100); listIIS.View = View.Details; listIIS.FullRowSelect = true; for (int i = 0; i < enumSite().Length; i++) { ListViewItem item = new ListViewItem(i.ToString()); item.SubItems.Add(enumSite()[i]); item.SubItems.Add(enumSiteState()[i]); listIIS.Items.AddRange(new ListViewItem[] { item }); } } /// <summary> /// 获得站点列表 /// </summary> /// <returns></returns> private string[] enumSite() { List<string> siteName = new List<string>(); try { DirectoryEntry root = GetDirectoryEntry(_connectString); foreach (DirectoryEntry e in root.Children) { if (e.SchemaClassName == "IIsWebServer") { siteName.Add(e.Properties["ServerComment"].Value.ToString()); } totalServerCount++; } } catch (Exception e) { MessageBox.Show("程序出错:" + e.Message); } return siteName.ToArray(); } /// <summary> /// 获得站点状态列表 /// </summary> /// <returns></returns> private string[] enumSiteState() { List<string> siteState = new List<string>(); try { DirectoryEntry root = GetDirectoryEntry(_connectString); foreach (DirectoryEntry e in root.Children) { if (e.SchemaClassName == "IIsWebServer") { string state = ""; switch (e.Properties["ServerState"].Value.ToString()) { case "1": state = "启动中"; break; case "2": state = "已启动"; break; case "3": state = "停止中"; break; case "4": state = "已停止"; break; case "5": state = "暂停中"; break; case "6": state = "已暂停"; break; case "7": state = "进行中"; break; } siteState.Add(state); } } } catch (Exception e) { MessageBox.Show("程序出错:" + e.Message); } return siteState.ToArray(); } private DirectoryEntry GetDirectoryEntry(string path) { return new DirectoryEntry(path); } /// <summary> /// 程序池列表 /// </summary> /// <returns></returns> private string[] enumPool() { List<string> poolList = new List<string>(); try { DirectoryEntry appPools = GetDirectoryEntry(_poolString ); foreach (DirectoryEntry a in appPools.Children) { poolList.Add(a.Name); } } catch (Exception ex) { MessageBox.Show("程序错误:" + ex.Message); } return poolList.ToArray(); } JAVASCRIPT 来实现:当我在下拉列表中选择了第几周(如20)后,立刻显示该周的星期一到星期日的日期(如:3月10 到 3月17)? 求助!C# app.config 如何在类中定义数组 求解决C#中字符串格式问题! 请教高手,C#winfrm编程使用水晶报表打印的一个问题 关于c# GDI画图 我想知道蠕虫的设计原理 关于C系列 散分了 只要给个实质的建议就有分 Up.... 新手请教,网络间文件传输怎么弄,可有example code!!! sql2k的一个Table里面存放数据最多能存多少行记录啊! 字符数组查询问题
/// 连接字符串
/// </summary>
private string _connectString
{
get
{
return "IIS://" + comboxIp.Items[comboxIp.SelectedIndex].ToString() + "/W3SVC";
}
} /// <summary>
/// 程序池字符串
/// </summary>
private string _poolString
{
get
{
return _connectString + "/AppPools";
}
} public FormMain()
{
InitializeComponent();
InitApp();
} /// <summary>
/// 初始化
/// </summary>
private void InitApp()
{
comboxIp.Items.Add("localhost");
comboxIp.SelectedIndex = 0; //comboxPoolList.Items.AddRange(enumSite());
comboxPoolList.Items.AddRange(enumPool());
if (comboxPoolList.Items.Count > 0)
{
comboxPoolList.SelectedIndex = 0;
}
BindListView();
} private void BindListView()
{
listIIS.Items.Clear();
listIIS.Columns.Clear();
listIIS.Columns.Add("索引", 50);
listIIS.Columns.Add("站点名称", 100);
listIIS.Columns.Add("状态", 100);
listIIS.View = View.Details;
listIIS.FullRowSelect = true; for (int i = 0; i < enumSite().Length; i++)
{
ListViewItem item = new ListViewItem(i.ToString());
item.SubItems.Add(enumSite()[i]);
item.SubItems.Add(enumSiteState()[i]);
listIIS.Items.AddRange(new ListViewItem[] { item });
}
} /// <summary>
/// 获得站点列表
/// </summary>
/// <returns></returns>
private string[] enumSite()
{
List<string> siteName = new List<string>();
try
{
DirectoryEntry root = GetDirectoryEntry(_connectString);
foreach (DirectoryEntry e in root.Children)
{
if (e.SchemaClassName == "IIsWebServer")
{
siteName.Add(e.Properties["ServerComment"].Value.ToString());
}
totalServerCount++;
}
}
catch (Exception e)
{
MessageBox.Show("程序出错:" + e.Message);
}
return siteName.ToArray();
} /// <summary>
/// 获得站点状态列表
/// </summary>
/// <returns></returns>
private string[] enumSiteState()
{
List<string> siteState = new List<string>();
try
{
DirectoryEntry root = GetDirectoryEntry(_connectString);
foreach (DirectoryEntry e in root.Children)
{
if (e.SchemaClassName == "IIsWebServer")
{
string state = "";
switch (e.Properties["ServerState"].Value.ToString())
{
case "1":
state = "启动中";
break;
case "2":
state = "已启动";
break;
case "3":
state = "停止中";
break;
case "4":
state = "已停止";
break;
case "5":
state = "暂停中";
break;
case "6":
state = "已暂停";
break;
case "7":
state = "进行中";
break;
}
siteState.Add(state);
}
}
}
catch (Exception e)
{
MessageBox.Show("程序出错:" + e.Message);
}
return siteState.ToArray();
} private DirectoryEntry GetDirectoryEntry(string path)
{
return new DirectoryEntry(path);
} /// <summary>
/// 程序池列表
/// </summary>
/// <returns></returns>
private string[] enumPool()
{
List<string> poolList = new List<string>();
try
{
DirectoryEntry appPools = GetDirectoryEntry(_poolString );
foreach (DirectoryEntry a in appPools.Children)
{
poolList.Add(a.Name);
}
}
catch (Exception ex)
{
MessageBox.Show("程序错误:" + ex.Message);
}
return poolList.ToArray();
}