In questo post vorrei porre l’attenzione su una modalità (a dir la verità abbastanza misconosciuta) per estendere lo startup di una applicazione web. Con il termine “estendere lo startup” di una applicazione web intendo la possibilità di eseguire del codice (vedremo in seguito sotto quali condizioni) senza dover ricorrere alla modifica del Global.asax o alla modifica del file di configurazione (ad esempio per aggiungere dei Module). La “magica” classe che permette tutto ciò è la PreApplicationStartMethodAttribute contenuta nel namespace System.Web (assembly System.Web.dll). Si tratta di un attributo applicabile ad un assembly che permette di dichiarare un metodo di un tipo che deve essere eseguito allo startup dell’applicazione. Cosa vuol dire in soldoni? Facciamo un esempio molto semplice ma che può far capire il meccanismo. Supponiamo di voler creare un Modulo HTTP che venga automaticamente agganciato al nostro sito web e che si occupi di non permettere di scaricare risor...