Если вы удаляете такие объекты, как пулы приложений, виртуальные каталоги или приложения IIS, вам нужно сделать это следующим образом:
string appPoolPath = "IIS://Localhost/W3SVC/AppPools/MyAppPool";
using(DirectoryEntry appPool = new DirectoryEntry(appPoolPath))
{
using(DirectoryEntry appPools =
new DirectoryEntry(@"IIS://Localhost/W3SVC/AppPools"))
{
appPools.Children.Remove(appPool);
appPools.CommitChanges();
}
}
Вы создаете объект DirectoryEntry
для элемента, который хотите удалить, затем создаете DirectoryEntry
для его родителя. Затем вы говорите родителю удалить этот объект.
Вы также можете сделать это:
string appPoolPath = "IIS://Localhost/W3SVC/AppPools/MyAppPool";
using(DirectoryEntry appPool = new DirectoryEntry(appPoolPath))
{
using(DirectoryEntry parent = appPool.Parent)
{
parent.Children.Remove(appPool);
parent.CommitChanges();
}
}
В зависимости от поставленной задачи я буду использовать любой из методов.