[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


@UbiJustin Since the 1.4 patch of AC Unity (PC) I can't play anymore : the game crashes at launch on come back to the desktop... Any idea ?

December 19, 2014 08:20

@assassinscreed AC Unity crashes at launch (not responding) since patch 1.4 has been installed (PC, Steam). I can't play anymore...

December 19, 2014 08:12

#Microsoft: We have more than 1.5 million #Windows 10 'Insiders' http://t.co/RoCXqgy3JJ

December 19, 2014 08:01

@AssassinsFR depuis l'installation du patch 1.4 d'AC Unity le jeu crash au lancement sur PC... Systématiquement... Impossible de jouer !!

December 19, 2014 08:00

#Docker – a reading list http://t.co/qUGAedDybV

December 18, 2014 17:28

Active Directory from on-premises to the cloud – #Azure AD whitepapers http://t.co/utieQxOfxr

December 18, 2014 16:16

#ASPNET #MVC 5.2.3, #WebPages 5.2.3 and #WebAPI 5.2.3 Beta releases http://t.co/MSQALH5bGb

December 18, 2014 14:17

Secure #ASP.NET #WebAPI using API Key Authentication – HMAC Authentication http://t.co/aZ6x480Rfq

December 18, 2014 13:01

2015 Technology Trends: Internet of Things and #DevOps : http://t.co/WrFe1grkm3 #IoT

December 18, 2014 10:54

Final Root Cause Analysis and Improvement Areas: Nov 18 #Azure #Storage Service Interruption: http://t.co/sXX3D6c521

December 18, 2014 09:37

#Azure #Backup – Announcing Support for Windows Client Operating System

December 17, 2014 08:01

#Azure #VirtualMachines : Using Chef, Puppet and Docker for managing Linux VMs - http://t.co/S7XwAjQlmg

December 16, 2014 09:37

#Azure: Premium Storage, RemoteApp, SQL Database Update, Live Media Streaming, Search and More http://t.co/9623QwBSke

December 13, 2014 08:21

Preview Available for Latest Version of #Azure #SQLDatabase - http://t.co/PbkdUfFaNm

December 13, 2014 08:01