[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


Top 10 Changes in #ASPNET 5 and #MVC 6 - http://t.co/pkBS8UvRpL #vnext

March 05, 2015 09:37

Looking for information about #Linux and #OpenSource in #Azure ? It's here: http://t.co/PM0e51xzfP #OSS

March 05, 2015 08:21

#Azure #API Management - http://t.co/DEtO81CfM0

March 05, 2015 08:01

How to run #ASPNET 5 Beta 3 or GoLang on a #Raspberry Pi 2 - http://t.co/U5gaSFC2LK

March 04, 2015 08:21

#Azure API Management Part 2: Safeguarding Your API - http://t.co/H8eYZOgoqz

March 04, 2015 08:01

#Microsoft #Azure Network #Security Whitepaper version 3 is now available: http://t.co/Ka0CHAmMR6

March 03, 2015 10:54

#Microsoft announces some improvements to the #Azure preview portal: http://t.co/EY1XXFPEIz

March 03, 2015 09:37

A break from the past: the birth of Microsoft's new web rendering engine: http://t.co/GCrEJv3WB1 #IE #Spartan

March 03, 2015 08:21

A first look at the Windows 10 universal app platform: http://t.co/ZeDdIc1pXo http://t.co/5eJOJWbdUY

March 03, 2015 08:01

.NET Core Open Source Update - February 26, 2015 - http://t.co/IumcRBUMGA

February 27, 2015 13:01

Update for #OneDrive app for #WindowsPhone brings a few new features - http://t.co/Lgyw2VOMgi

February 27, 2015 10:54

#Docker support in #Azure ! Sunny and Swarmy in Azure - http://t.co/aF6Puxzdle

February 27, 2015 09:37

Using #Azure #MediaServices streaming video with DashJS player - http://t.co/wWi9YuvXS2

February 26, 2015 09:37

Identity Updates for Web Developers in Visual Studio 2015 CTP6 - http://t.co/qEXw0ywwXc #aspnet

February 26, 2015 08:21

Limit the exposure of sensitive data in #Azure #SQLDatabase using Dynamic Data Masking - http://t.co/MShrGepdE0

February 26, 2015 08:01