IIS代码管理,1:遍历应用程序池和属性

下面的代码实现遍历 IIS 6应用程序池的一个方法:

System.DirectoryServices.DirectoryEntry appPoolRoot = new System.DirectoryServices.DirectoryEntry(@"IIS://localhost/W3SVC/AppPools");

//得到默认应用程序池的方法可以直接使用 IIS://localhost/W3SVC/AppPools/DefaultAppPool

System.Collections.IEnumerator AppPoolEnumer = appPoolRoot.Children.GetEnumerator();

while (AppPoolEnumer.MoveNext())

{

System.DirectoryServices.DirectoryEntry EntryPool = (System.DirectoryServices.DirectoryEntry)AppPoolEnumer.Current;

System.DirectoryServices.PropertyCollection properties = EntryPool.Properties;

System.Collections.IDictionaryEnumerator propertiesEnumer = properties.GetEnumerator();

textBox1.Text += "应用程序池名称 = " + EntryPool.Name + System.Environment.NewLine + "____________________________________________" + System.Environment.NewLine;

while (propertiesEnumer.MoveNext())

{

System.DirectoryServices.PropertyValueCollection propertyvalue = (System.DirectoryServices.PropertyValueCollection)propertiesEnumer.Value;

if (propertyvalue.Count > 1)

{

for (int j = 0; j < propertyvalue.Count; j++)

{

textBox1.Text += "Name=" + propertiesEnumer.Key.ToString() + " Value= " + propertyvalue[j] + "--";

}

}

else

{

textBox1.Text += "Name=" + propertiesEnumer.Key.ToString() + " Value= " + propertyvalue[0] + System.Environment.NewLine;

}

}

}