[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


How to use #VisualStudio #TeamServices to build and push #Docker images in the hub: https://t.co/GAMkXWoRS3 #DevOps https://t.co/ntgCRCmogR

May 06, 2016 17:00

Deploying @ASPNET Core with @Docker #Swarm to #Azure #ContainerService - https://t.co/FCykdXScLT

May 05, 2016 15:49

Migrating to the #cloud: A practical, how-to guide - https://t.co/xHnVrAeCc1 #Microsoft #Azure

May 05, 2016 15:47

@MariaGorelkina does the DevCon website have an English version? :)

May 05, 2016 08:17

The #DevOps Factory https://t.co/RrctlLkZPl

May 05, 2016 08:13

Stabilizing your drone’s or any shaky video with #Microsoft #CognitiveServices https://t.co/EyHx3NO8Pb via @davrous

May 03, 2016 18:31

What's new with @Docker for #Windows and #Microsoft @Azure users? https://t.co/KadVPmEdsS https://t.co/VptaAtj8gh

May 03, 2016 17:01

@JeromeSoyer maybe not fully implemented yet... Not mentionned in https://t.co/WPy8nzQa2c, I'll try asap and let you know :)

May 02, 2016 18:43

@JeromeSoyer hmm didn't try on Windows 10 yet and I am not sure it is the same installation script than for Windows Server 2016 TP5...

May 02, 2016 18:38

@JeromeSoyer hi, on what step this error occurs ?

May 02, 2016 16:57

@rgardler @michaldudak thanks for the follow up !

May 02, 2016 16:46

.@VorlonJS – A Journey to #DevOps: publish image in the @Docker Hub using #VisualStudio #TeamServices https://t.co/RkZbCuzqnB #Containers

May 02, 2016 15:19

Get ready, #SQLServer2016 coming on June 1st https://t.co/I8pHqUbxxa

May 02, 2016 13:25

Building Awesome Games with @Azure #ServiceFabric https://t.co/uNryR9qvEK

May 02, 2016 08:39