[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


@InfoAbonneCanal Ça remarche, merci sauf la case à cocher pour retenir la conf. il faut remettre les sous titres à chaque épisode...

January 17, 2017 20:12

Hey bsr @InfoAbonneCanal, FYI depuis 3 jours, plus de sous titres sur la vost de l'application TV connectées​ Samsung ! Merci :-)

January 16, 2017 19:58

A Different Approach To #Test Your @ASPNET Core Application https://t.co/9kjb6NsG1t #dotnet #dotnetcore

January 13, 2017 17:07

Just found this task to generate a release not file at build time using #vsts and #tfs - really cool ! https://t.co/P5tBdRJRnM

January 13, 2017 15:17

RT @brendandburns: The state of Kubernetes in Azure Container Service https://t.co/eruqgVk35l And we're already working on polishing thos…

January 11, 2017 22:26

RT @docker_fr: RT: #Meetup @DockerParis 17/01 chez @venteprivee_fr@benjguin parle comparaison de sol. streaming #bigdata avec https://t.c

January 11, 2017 19:39

CI/CD with #Azure #Container Service and #Docker #Swarm https://t.co/C6ZtoaVNW7 #DevOps #VSTS

January 11, 2017 19:37

RT @rgardler: How to integrate a new Azure Container Service cluster into an existing virtual network using ACS Engine https://t.co/Sxk4h2q…

January 11, 2017 19:35

How to integrate a new @Azure #ContainerService cluster into an existing virtual network using #ACSEnginehttps://t.co/nxRqeVbgcC

January 10, 2017 14:10

RT @fdibot: Envie de comprendre pourquoi @Docker c'est le présent et l'avenir ? venez écouter @jcorioland, @wiboconsulting et moi même au #

January 10, 2017 09:20

#containerd - Core Container Runtime Project For The container Industry https://t.co/1czRFQwcLo

January 05, 2017 08:38

Deprecation of the Team Rooms in #TeamServices and #TFS https://t.co/w2I0tiXqQ7

January 05, 2017 08:02

#Docker Logs API Format Explained https://t.co/0AZEtalRiR

January 05, 2017 07:52

End-to-end cloud #experiences for developers at #Nodejs Interactive North America https://t.co/b8Nbte3i96

January 04, 2017 11:46

Should You Go ‘#Serverless’? The Pros and Cons https://t.co/dvxflKwT5f #Cloud #Architecture

January 03, 2017 08:40