[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


.@FredericWickert nous présente une archi full #PaaS dans @Azure ! @ArollaFr https://t.co/saXb2JsUAu

December 06, 2016 20:54

#Jenkins pipeline continuous deployment of a #Java application in @Azure #AppService w/ @jpbriend https://t.co/jpVEfd1MwE

December 06, 2016 20:07

What’s new upcoming in #Docker #Compose v1.9.0? https://t.co/ME15cFHHAh

December 06, 2016 08:30

#howto -> NoSQL #dotnetcore development using an local @Azure DocumentDB Emulator https://t.co/sJpwzIiymP

December 05, 2016 18:37

Want to know more about #VisualStudio #MobileCenter? Check this new @CloudCoverShow episode! https://t.co/3hVZ0tk7Bz

December 05, 2016 18:36

A #Kafka connector is now available for @Azure #IoT Hub https://t.co/pDWKuWizoo

December 05, 2016 18:33

Running #Azure "Functions Locally with the CLI and VS @Code https://t.co/7nou4YYAUm #serverless

December 05, 2016 18:31

Yey! #VisualStudio Tools for @Azure #Functions!! https://t.co/E5DaIs4jJb

December 01, 2016 19:45

From “A PC on every desktop” to “Deep Learning in every software” https://t.co/8mOOdjO9kM

December 01, 2016 08:44

Full CI/CD pipeline with @Docker #Swarm on #Azure #ContainerService #DevOps @VSTeam https://t.co/UHeBBxSaHz

November 30, 2016 20:50

@sandayuu thanks ;-)

November 30, 2016 06:37

@lamouetterieuse ni l'un ni l'autre :)

November 29, 2016 19:08

Just blogged: full CI/CD pipeline to deploy a multi-containers application on @Azure #ContainerService with #VSTShttps://t.co/PEAxL13eRf

November 29, 2016 18:16

Announcing #Azure #DevTest Labs support for creating environment with ARM templates https://t.co/AzCCuRZSqZ

November 29, 2016 09:52

Les conteneurs @Docker sous #Windows, accélérateurs de votre démarche #DevOps https://t.co/QecTyHY1hc

November 28, 2016 12:16