Как прочитать активные свойства фильтров ISAPI IIS

Я хочу знать, сколько фильтров ISAPI активно в IIS. И я также хочу прочитать свойства метаданных этих активных фильтров ISAPI на C#.

Я создал DLL-файл фильтра ISAPI и добавил его в IIS. Я вижу этот фильтр в «inetmgr», но я хочу получить ту же информацию через C#. Это возможно?


person Sandy    schedule 17.01.2011    source источник


Ответы (1)


Вы можете использовать АДСИ

Путь "IIS://LocalHost/W3SVC/Filters"

http://msdn.microsoft.com/en-us/library/ms525344(VS.90).aspx

И вы можете получить доступ к этому в С#, используя DirectoryEntry 's

http://support.microsoft.com/kb/315716

DirectoryEntry de = new DirectoryEntry("IIS://LocalHost/W3SVC/Filters");
foreach (DirectoryEntry child in de.Children) {
 child.Name
 child.Properties["SomeProperty"].Value
}
person djeeg    schedule 17.01.2011
comment
Спасибо за ответ. Я создал DLL-файл фильтра ISAPI и добавил его с помощью IIS. Я вижу этот фильтр в inetmgr, но не могу получить информацию о нем. - person Sandy; 17.01.2011
comment
он назначается всем сайтам или одному конкретному сайту? вам, возможно, придется взглянуть на фильтр сайта IIS://LocalHost/W3SVC/%websiteid%/Filters - person djeeg; 17.01.2011
comment
Это дает ошибку n: оператор foreach не может работать с переменными типа «System.DirectoryServices.DirectoryEntry», потому что «System.DirectoryServices.DirectoryEntry» не содержит общедоступного определения для «GetEnumerator». - person Sandy; 17.01.2011
comment
Да, я обновил его. Он дает только счет 5, который не содержит моего фильтра ISAPI. - person Sandy; 17.01.2011
comment
Я делаю это: private void button1_Click (отправитель объекта, EventArgs e) { DirectoryEntry de = new DirectoryEntry (IIS://localhost/W3SVC/Filters); foreach (DirectoryEntry дочерний элемент в de.Children) { label1.Text = string.Concat(child.Name, +,child.Properties[Status].Value); } } - person Sandy; 17.01.2011