[ASPNET] Exécutez du code au pré-démarrage d’une application

April 10, 2013 -

Depuis 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 Winking smile

Julien

Comments

Share

Tags


Twitter


New site extension available for #Azure Web Sites: Search Portal for Azure #Search http://t.co/mBpcQwJFUC

September 16, 2014 09:54

Managing Concurrency in #Microsoft #Azure #Storage : http://t.co/fzKSSj36gz

September 16, 2014 08:37

Bill Gates' Foundation Gives Its Largest Gift Ever To Combat Ebola Crisis http://t.co/hsf0YQncX2

September 13, 2014 07:01

#Nokia announces #HERE maps for #Android, launching exclusively for Samsung Galaxy smartphones with offline access http://t.co/kGXgYHCEwA

August 30, 2014 07:21

Modernizing Your Infrastructure with Hybrid Cloud: Cross-Premises Data Mobility with #Microsoft #Azure #StorSimple (… http://t.co/D2rnUU3SBJ

August 30, 2014 07:01

#ASPNET vNext - August 2014 Status Rollup http://t.co/umW9NKOdQB

August 29, 2014 08:37

Use #ADAL to Connect Your Universal Apps to #Azure AD or #ADFS http://t.co/AUxgOb4oaR

August 29, 2014 07:21

Use #SignalR to Build Real-Time Connectivity into Your Software http://t.co/kFsXiPVdXT

August 29, 2014 07:01

Could #Cosmos be #Microsoft's next commercial big-data service? http://t.co/OYvtLRI3Pc

August 28, 2014 13:17

#Microsoft’s Visual Studio Online Now Lets Developers Add Unlimited Stakeholders For Free #VSO http://t.co/LBUi5r7bpO

August 28, 2014 12:01

#Microsoft cuts #Azure #SQL cloud database prices http://t.co/i3eNPhIk3E

August 28, 2014 09:54

#Azure #BLOB Storage Part 1: Introduction http://t.co/s5fEb8w0Oh

August 28, 2014 08:37

Cycle d’exécution des directives #AngularJS http://t.co/nNZxST6Qi2

August 28, 2014 07:21

Json .NET Updates: Merge, Dependency Injection, F# and JSONPath Support http://t.co/podvLQzogL

August 28, 2014 07:01

Porting a #Windows Store App using HTML to #Cordova http://t.co/w1T6Dn973M

August 27, 2014 13:17