¿Hay alguna manera de enumerar todos los sitios web activos que existen dentro de IIS utilizando C#?Listar todos los sitios web en IIS C#
Gracias
Sp
¿Hay alguna manera de enumerar todos los sitios web activos que existen dentro de IIS utilizando C#?Listar todos los sitios web en IIS C#
Gracias
Sp
He aquí un article explicar cómo esto podría hacerse utilizando las clases de la System.DirectoryServices espacio de nombres, así como el espacio de nombres Microsoft.Web.Administration que se introdujo con IIS 7.
Si alguien es intrested utilicé el siguiente
var files = Directory.GetFiles(directory, "*",SearchOption.AllDirectories);
sizeInBytes = (from file in files let fileInfo = new FileInfo(file) select fileInfo.Length).Sum();
Este fragmento asume que los directorios dentro del directorio especificado representan sitios web reales, lo que no es necesariamente cierto. Supongo que en realidad estás intentando listar carpetas virtuales dentro de un sitio. En lugar de utilizar las clases dentro de System.DirectoryServices, será más preciso. – cstruter
Esto es simplemente incorrecto ... – Milney
Para IIS 7 puede usar Micro soft.Web.Administration.dll (C: \ Windows \ System32 \ inetsrv) y el siguiente código
var iisManager = new ServerManager();
SiteCollection sites = iisManager.Sites;
Esto funciona genial, gracias! Sin embargo, cabe señalar que la aplicación en ejecución (VS o la aplicación en sí) necesitará permisos elevados para ejecutar esto (al menos en mi configuración de Windows 7). – nateirvin
Esto fue lo mejor que encontré en Internet en mucho tiempo (¡relacionado con el trabajo, por supuesto!) – jackncoke
Este enlace ahora está vacío. – nateirvin