Wie Phil Haack bereits in diesem Blogeintrag erwähnt, gibt es seit ASP.Net 4 ein neues Assembly Attribut: PreApplicationStartMethod. Mit diesem Attribut kann eine Methode angeben werden die noch vor dem eigentlichen ApplicationStart ausgeführt wird.

Das Attribut fügt man einfach zur AssemblyInfo.cs eines beliebigen Projektes hinzu:

[assembly: PreApplicationStartMethod( typeof(SomeClass), "SomeMethod")]

Ich verwende dieses Attribut für die Initialisierung des DI Containers structuremap. Über das PreApplicationStartMethod Attribut wird die Initialisierungsmethode aufgerufen.

Jetzt muss man nur noch die Assembly in das bin Verzeichnis des Webs legen und schon wird der DI Container automatisch bei jedem Start der Anwendung initialisiert.