[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


#Azure #Website SiteExtension to view #EventLogs : http://t.co/WSREqQJLjd

September 29, 2014 12:01

My personal Azure #FAQ on Azure Networking SLAs, bandwidth, latency, performance, SLB, DNS, DMZ, VNET, IPv6 [...] : http://t.co/FUYkbZVYb3

September 29, 2014 09:54

#Microsoft Offers Price #Reductions on Select #Azure Services : http://t.co/pEI64iAAda

September 29, 2014 08:37

Monitoring, Diagnosing and Troubleshooting #Azure #Storage : http://t.co/yn1Us7xCGS

September 29, 2014 07:21

#Microsoft #Azure #Diagnostics Part 3: Advanced Configuration http://t.co/HTxMfcmUa4

September 29, 2014 07:01

@bouyguestelecom la fibre est HS depuis plus d'une heure aussi (paris 11)

September 28, 2014 19:55

Global configuration for WebAPI services to add custom extensions - http://t.co/BzA6KFWPmg

September 25, 2014 08:37

Microsoft Delivers End User Insights With Delve - http://t.co/ItK0bLW6HA

September 25, 2014 07:21

Building A Cloud Business: Very Little Assembly Required - http://t.co/I2yLUDYif4

September 25, 2014 07:01

Upload and Download files from #Azure Storage - http://t.co/nxNsE0Ywn7

September 24, 2014 09:54

10 things I learned about rapidly scaling #websites with #Azure http://t.co/y0ONR40178

September 24, 2014 07:21

Troubleshooting Common Configuration Issues with #Azure Backup - http://t.co/WrUItVZEm6

September 24, 2014 07:01

Ray Ozzie’s New Venture Talko Launches An App For Collaborative Voice Communications - http://t.co/VYqlK2mviZ

September 23, 2014 13:17

#DocumentDB: une base de données #noSQL pour stocker du JavaScript - http://t.co/CpdR0aS6WL #Azure

September 23, 2014 12:01

#IOT: Security - http://t.co/hX2V9Bs34E

September 23, 2014 09:54