[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


@Ju_Stroh @nthonyChu @jefkingtweets will not work better if the image is on the master and not on the agents. Need to be pulled from the hub

September 25, 2016 19:20

@Ju_Stroh @nthonyChu @jefkingtweets nope Docker service is only for Swarm mode (1.12) that is not yet on ACS

September 25, 2016 19:17

@jefkingtweets this will help: https://t.co/moyUisLW80 @nthonyChu @Ju_Stroh

September 25, 2016 19:01

@jefkingtweets as @nthonyChu said, push the image to the hub to be able to pull it from any place @Ju_Stroh

September 25, 2016 18:59

@jefkingtweets @nthonyChu @Ju_Stroh hmm I'd say that the image is on the master but not on the agents and they fail to pull it from the hub

September 25, 2016 18:58

@jefkingtweets @nthonyChu @Ju_Stroh if there is only one image to deploy no need for compose. What's the error?

September 25, 2016 18:53

@t_arthaud ok merci ! Bonne soirée @bouyguestelecom

September 25, 2016 18:49

@t_arthaud merci pour l'info ! Ils ont une idée de qd cela sera réglé? @bouyguestelecom

September 25, 2016 18:46

@t_arthaud @bouyguestelecom idem ici, également dans le 11eme arrondissement :(

September 25, 2016 18:05

Microsoft experiences’16 – Architectes, développeurs ne manquez pas la journée technique du 5 octobre ! https://t.co/3XGBPr6UHK #experiences

September 25, 2016 17:30

Deep Learning, Simulation and HPC Applications with #Docker and #Azure Batch https://t.co/pwpvriYfV4

September 24, 2016 16:56

RT @aurelienmaury: Les devs de @kodokojo seront au prochain #Mesos UG Paris le 5/10 au palais des Congrès. Merci @microsoftfrance de nous p…

September 23, 2016 17:38

RT @FranmerMS: Enterprise ready: Power BI for iOS now supports Intune MAM capabilities https://t.co/SICRhrt3LK via @MSPowerBI

September 23, 2016 17:35

#experiences - retour d'expérience sur #aspnet core et #Azure par @SantinFlo, @SebastienOll et @m_dab ->… https://t.co/j7kvY3srPH

September 23, 2016 12:01

#experiences : retrouvez moi avec @benjiiim pour un tour d'horizon d'#aspnet core ! https://t.co/QxgfpYhf7v #dotnethttps://t.co/m4Fbxy3xOl

September 22, 2016 13:13