[ASPNET] Exécutez du code au pré-démarrage d’une application
10 Apr 2013 in ASP.NET MVCDepuis ASP.NET 4, il existe une fonctionnalité assez intéressante : la possibilité d’exécuter du code au chargement de l’app domain dans lequel s’exécute votre application, c’est à dire avant même que le code de votre application soit chargé.
On parle du pré-démarrage
de l’application. Ce mécanisme est très simple à mettre en place et peut être réalisé dans n’importe quel assembly chargé dans l’app domain de votre application :
- Création d’une classe statique PreApplicationStart (par exemple)
- Création d’une méthode statique OnStart (par exemple)
- Ajout d’un attribut d’assembly pour indiquer l’emplacement de cette classe
Cela peut être très utile, notamment pour enregistrer des modules http, par exemple !
Vous obtenez donc un code de ce genre là :
public static class PreApplicationStart
{
public static void OnStart()
{
//code de pré-démarrage
}
}
Ensuite, il suffit de pointer cette classe depuis le fichier Assembly.cs du projet dans lequel elle est définie :
[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "OnStart")]
Il ne reste qu’à référencer la librairie dans le projet web, et la méthode OnStart sera automatiquement appelée lors du pré-démarrage.
Enjoy
Julien