[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


RT @Technet_France: #SaveTheDate les 4 & 5 Octobre, les #mstechdays reviennent, ils s’appellent #experienceshttps://t.co/3RFVbSADyt https…

June 25, 2016 08:23

@jayanti_sharma @SopraSteria_fr thank you for the feedback :)

June 25, 2016 08:16

RT @rgardler: New Tools and Techniques for Managing and Monitoring Mesos https://t.co/HiZQg6CNmu

June 24, 2016 16:11

RT @armymapguy: .@Esri is tapping #Azure Container Service & Mesosphere DCOS to go big.Very big.Like NYC big! @FortuneMagazine big. https:/…

June 24, 2016 16:10

How to run #Docker #Datacenter on @Azure https://t.co/yn2GxVq3dp

June 24, 2016 12:05

#DevOps: Effective Patterns for #FeatureFlags https://t.co/boexFoBlxG

June 24, 2016 09:47

Preview of #ServiceFabric on #Linux https://t.co/raUwT2jy7H #microservices

June 24, 2016 09:44

Two more things to keep your costs on track in #Azure #DevTest Labs https://t.co/lHLJ5YA6jt

June 24, 2016 09:35

RT @Taylorb_msft: #DockerCon Slides - Docker/Windows Internals https://t.co/7n5j5wtCHr https://t.co/PintnDC5Lv

June 23, 2016 06:24

First steps with @Azure #ContainerService https://t.co/Xv6sgNuWAo via @fdibot

June 22, 2016 20:36

RT @chanezon: #DockerCon @markrussinovich @SQLServer Linux in a container orchestrated by Docker Datacenter on Azure Stack - Wow! https://t…

June 22, 2016 08:57

RT @jpetazzo: "docker run --isolation=hyperv" #dockercon https://t.co/wZE3vqGrWb

June 22, 2016 08:56

@laurentgrangeau done :)

June 22, 2016 05:34

@laurentgrangeau no I'm not! For Experiences, send me a DM :-) enjoy DockerCon!

June 22, 2016 05:21

RT @docker: .@SQLServer on @Linux in #container on #swarm cluster across @Azure Cloud +on-prem w/ @docker #datacenter #DockerCon https://t.…

June 21, 2016 19:45