Grazie all'assembly Microsoft.Web.Administration, si può investigare in ogni angolo delle applicazioni pubblicate con IIS 7 anche andando a leggere i valori impostati nel file di configurazione. In questo script vediamo come scorrere tutti i siti e le relative applicazioni visualizzando quali siano gli handler abilitati.
var items = (from site in serverManager.Sites from app in site.Applications select new { Site = site.Name, Application = app.Path, Handlers = GetHandlers(app) });
Il metodo GetHandlers non fa altro che recuperare la sezione di configurazione relativa agli handlers e scorrere tutti i nodi add per prendere quelli attivi.
Dictionary<string, string> GetHandlers(Application app) { try { var x = app.GetWebConfiguration().GetSection("system.webServer/handlers"); return x.GetCollection().Where(c => c.Schema.Name == "add") .ToDictionary(c => c.Attributes["name"].Value.ToString(), c => c.Attributes["type"].Value.ToString()); } catch{ return new Dictionary<string,string>(); } }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Change tracking e composition in Entity Framework
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste