#116 - Visualizzare gli handler abilitati in un'applicazione web con LINQ e Microsoft.Web.Administration

Stefano Mostarda

di Stefano Mostarda, in LINQ, 22 aprile 2009

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>(); 
  } 
}

IL CONTENUTO
SCRIPT VIA E-MAIL

Iscriviti alle nostre newsletter unoscript@lgiorno e Xcript per ricevere gli script via e-mail.

MEDIA
IN EVIDENZA
MISC