[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


#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

Data-Driven Load Tests using Visual Studio Online and #SQL #Azure http://t.co/gX6KRrvZIu

August 27, 2014 12:01

Sample App With #ASPNET Web API and #ReactJS http://t.co/tEU42LKmg5

August 27, 2014 09:54

Announcing RTM of #Katana 3 http://t.co/2LkMzlR05i

August 27, 2014 08:37

#ASPNET MVC 6: Reading form values http://t.co/4dFapdR1jJ

August 27, 2014 07:21

How to run Background Tasks in #ASPNET http://t.co/88ZHMbYKAf

August 27, 2014 07:01

Deploying Virtual Machines in #Azure using Service Manager and SMA Part II : http://t.co/pZWUHPGwH3

August 26, 2014 07:21

Build a web application with #ASPNET MVC using #DocumentDB : http://t.co/8DFFgMaFHP #Azure

August 26, 2014 07:01

Microsoft reportedly working on a Chromecast-like streaming device | The Verge http://t.co/iwHbjXSQ5D

August 25, 2014 12:01

VLC for Windows Phone delay continues; Windows 8.1 version almost ready http://t.co/Pe7PJJFwuR

August 25, 2014 09:54

Customizing #WebAPI controller selector : http://t.co/rAq1wXBvil #aspnet

August 25, 2014 08:37