[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


New update for the #Azure #MediaServices #Java SDK with support for Content Protection feature http://t.co/KSh8LW0vTe

August 31, 2015 13:54

A new version of the #Azure SDK for .NET (2.7.1) is available for #VisualStudio 2015 and 2013 ! http://t.co/e0gQGQhdyh

August 31, 2015 11:37

Excellent article sur les différents services de données de la plateforme #Cloud #Microsoft #Azure http://t.co/YhQMkQz3mC

August 31, 2015 09:21

How to Dockerize Your Development Machine http://t.co/DfrkEs98Q5 #Docker

August 31, 2015 08:01

#Azure #MediaServices #Java SDK gets a major update http://t.co/NGuZSjWEra

August 26, 2015 09:21

#Azure #PremiumStorage expanding in more regions http://t.co/UTxGSqttrD

August 26, 2015 08:01

#Microsoft has published a series of quick start videos about #Windows #Containers http://t.co/ckXztYdIBu #Docker

August 25, 2015 20:28

Deploying to #Linux & #Windows #Docker Containers http://t.co/DXyjh3yTRr

August 25, 2015 19:16

Get the #Azure #DocumentDB SQL query cheat sheet http://t.co/l1rxMQd17b

August 25, 2015 17:17

New #Azure IT Workload: Web-based, line of business application http://t.co/qkuZgJQ9Op

August 25, 2015 11:37

#Microsoft releases #Cortana for #Android beta to the public http://t.co/aBSMhEfHgu

August 25, 2015 09:21

Save the date ! >> #Office 2016 for Windows will reportedly launch on September 22 http://t.co/NwhVtdfxPe

August 25, 2015 08:01

Great video about handling #DevOps Workflow with #Azure #WebApp http://t.co/lDnlNkuZQ1

August 24, 2015 11:37

Running #Docker and Containers in Development and Production http://t.co/mz7TmzZmYD

August 24, 2015 09:21

#CloudFoundry on #Azure Preview 2 Now Available http://t.co/fsb9xALeaQ

August 22, 2015 11:37