[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


Cool overview of #Azure #LogicApps http://t.co/R3co6lGBag #AppService

March 26, 2015 17:28

Experiencing the Difference Between Dev & Ops and #DevOps http://t.co/ygPTA9VyfE

March 26, 2015 16:16

Microsoft Consolidates #Azure Application Services into #AppService http://t.co/X26Mqgcg1o

March 26, 2015 14:17

Introducing #Azure #API Apps with #AppService: http://t.co/56dS74Ahmq

March 26, 2015 13:01

Bandwidth Quota changes to the #Free offer of #Azure #AppService: http://t.co/U8gBG3oRWX

March 26, 2015 10:54

Announcing #Media APIs for #Azure #AppService: http://t.co/30ABLU9vPE

March 26, 2015 09:37

#Azure March Announcement http://t.co/nWhgCwBAWF #AppService

March 25, 2015 09:45

Et bam ! #VisualStudio Tools for #Windows 10 Technical Preview - http://t.co/3ZglJLewS0

March 24, 2015 08:01

If you are getting timeouts using #Azure #Redis cache, this can help you to solve a lot of issues: http://t.co/NmDJkaksVf

March 23, 2015 09:37

Diagnosing dependency issues with #ASPNET 5 - http://t.co/G3NUNTtOaG

March 23, 2015 08:01

Session #xamarin avec @thomas_lebrun et @danvy #COD15 http://t.co/NFHZ6dG9VN

March 20, 2015 11:09

Journée des communautés 2015 !! (at @MicrosoftFrance in Issy-les-Moulineaux, Île-de-France) https://t.co/bBcvm5Hdo5

March 20, 2015 08:35

@MorganLeroi @pierlag ça peut vite devenir le dawa quand même :)

March 19, 2015 20:26

Announcing Azure Media Services integration with Azure CDN (Content Delivery Network) - http://t.co/nP5VbtMa55

March 18, 2015 08:01

#Microsoft's digital assistant (project Einstein) to head to #Android, #Apple devices http://t.co/n7yYrxWsrJ

March 17, 2015 13:01