[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 #Azure #ActiveDirectory in an #AngularJS / #ASPNet MVC application: http://t.co/c3uD1oxTUi

January 26, 2015 09:37

Super hackaton #Zone61 ce weekend ! Plein de projets au top et de problématiques techniques autour d'#Azure et de l'#IoT ! :-)

January 25, 2015 19:25

ne plus recevoir les data processées dans l'event hub : http://t.co/bYHFrqUJsf #Zone61

January 25, 2015 12:37

Unified #aspnet 5 - Using #MVC 6, #WEBAPI and #EntityFramework 7 in an Application: http://t.co/icYwV96iRn #vNext

January 24, 2015 14:17

Building #WebAPI using #MVC 6 & #MongoDB: http://t.co/aIGJUlrS3g #aspnet #vnext

January 24, 2015 13:01

Revisiting Partial View Rendering in #aspnet #mvc: http://t.co/7aux3byX4P

January 24, 2015 10:54

How to use #Azure #ActiveDirectory to secure your LOB #ASPNET #MVC applications ?http://t.co/5zBDhRQfhY

January 24, 2015 09:37

@Michael_Alves carrément, avec plaisir 😊

January 23, 2015 13:04

@Michael_Alves celle la et une autre sur azure media services :-)

January 23, 2015 11:18

#ASPNET 5: la révolution est en marche ! Venez en savoir plus lors des #mstechdays: http://t.co/oYrCEV1WT8

January 23, 2015 10:54

Project #Spartan and the #Windows10 January Preview Build: http://t.co/NbPy1y08vr

January 23, 2015 09:37

Running #ASPNET 5 on Linux http://t.co/z8Zebh5jo5 #VNext

January 23, 2015 08:21

Mapping #ASPNET #SignalR Connections to Real Application Users http://t.co/6NAGYNYXNf

January 23, 2015 08:01

The 9 biggest announcements from Microsoft's #Windows10 event http://t.co/7Cs5xDvjnK

January 22, 2015 17:28

Performance Tips for #Azure #DocumentDB – Part 1: http://t.co/EUNqdjeV65

January 21, 2015 08:21