[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 @FredericWickert: Microsoft and #AI for #developers https://t.co/AsivUypQ1v

June 23, 2017 20:37

RT @VaheMicrosoft: Les services Cloud Microsoft localisés ds des datacenters à Paris et Marseille plébiscités par l’écosystème français htt…

June 23, 2017 17:56

#Java: Manage Azure #ContainerService, #CosmosDB, Active Directory #Graph and more https://t.co/C8Qv0rASTl

June 23, 2017 06:49

RT @pierlag: Vous avez aimé #experiences? Ne manquez pas #experiences17, 3&4 octobre 2017 au Palais des Congrès! Inscriptions https://t.co

June 23, 2017 06:10

RT @gabrtv: .NET Core support added to #Draft care of the good folks @cloudbaseit 👏https://t.co/LjUSp0uXMi

June 22, 2017 20:17

Inside Microsoft's #AI Comeback https://t.co/dMJldLxrRy

June 22, 2017 20:04

#DevOps w/ #Containers: CI/CD of Containers from #VisualStudio to #ServiceFabric https://t.co/2VJh9o5Hqh

June 22, 2017 11:54

How Microsoft Is Shifting Focus to Open Source https://t.co/PMONdSbHJn

June 22, 2017 09:37

#DevOps w/ #Containers: Mesosphere DCOS, Azure, Docker, VMware and everything between – Architecture and CI/CD Flow… https://t.co/w0FCPUjs7P

June 22, 2017 08:21

#GDPR Questions? #Azure has answers. https://t.co/3xlQ8WSKyQ

June 22, 2017 07:01

Enable client side monitoring in #Azure with #ApplicationInsights https://t.co/sLcoQG51JS

June 22, 2017 06:43

ASOS: How they migrated from local monolith to #microservices in #Azure https://t.co/cxZxwgtm4g

June 22, 2017 06:36

Modernizing Traditional Applications with @Docker on #WindowsServer and @Azure https://t.co/IK9eYhWmuz

June 21, 2017 09:36

Hackons l’intelligence artificielle à Microsoft experiences’17 https://t.co/a77Ni5Ne0M

June 21, 2017 07:53