[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


A lot of improvements with this new version ! >> Announcing #NuGet 3.1 with Support for UWP http://t.co/3LOAOsIKjG

July 31, 2015 17:17

Universal #Windows apps in .NET http://t.co/A6cbiTtYzK

July 31, 2015 15:01

July update for #Web apps and #AppService environments in the #Azure preview portal http://t.co/zxIqV5Cr12

July 31, 2015 13:54

Already "14 million devices running #Windows10" >> http://t.co/lSvMMZpc5V

July 31, 2015 07:47

@Michael_Alves @arnaudauroux carrément avec plaisir :)

July 31, 2015 07:27

@Michael_Alves il parle de scaling des archi oui, mais apres peut être pas comme tu l'attends pour tes problématiques

July 31, 2015 06:56

@Michael_Alves n'hésite pas !

July 31, 2015 06:50

#DevOps Yourself: Fast-Track Your #Windows Development Environment Setup with #Chocolatey and #Vagrant http://t.co/yczMqktnnW

July 30, 2015 15:01

Building #Microservices : one of the best book I've read ! Thanks @samnewman ! http://t.co/6WFYXJLlxC http://t.co/TloUdIIwkl

July 30, 2015 14:45

The story of #Windows10 from inside #Microsoft http://t.co/WXVdLTVfQ1

July 30, 2015 11:37

Building #Apps for #Windows10 with #VisualStudio 2015 http://t.co/z5ecSbEV3T

July 30, 2015 09:21

Yeah ! >> #Microsoft #Edge review: #Windows finally has a good browser http://t.co/CbqygzikBC

July 30, 2015 08:01

Hybrid Management in #Azure #Automation - http://t.co/605bN5P5xI

July 29, 2015 13:54

That would be great ! >> #Microsoft wants to keep #Android app binaries unchanged when ported to #Windows10 Mobile - http://t.co/kdlJPpF3DF

July 29, 2015 11:37