Professional ASP.NET MVC 4
by Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen, Scott Hanselman
WebActivator
Many third-party libraries require more than a simple assembly reference to be useful. They sometimes need the application to run a bit of configuration code when the application starts up. In the past, this meant you would need to copy and paste a bit of startup code into the Application_Start method of Global.asax.
WebActivator is a NuGet package that solves that issue when combined with NuGet's ability to include source code files in packages along with referenced assemblies. It makes it easy for a NuGet package to include a bit of application startup code.
For more details on what WebActivator is, I recommend David Ebbo's blog post, http://blogs.msdn.com/b/davidebb/archive/2010/10/11/light-up-your-nupacks-with-startup-code-and-webactivator.aspx.
The NuGet Gallery Website project includes an App_Start folder. This is the conventional location to place startup code that depends on WebActivator. Listing 16-1 is an example code file that demonstrates how to use WebActivator to run startup and shutdown code.
Listing 16.1 : Listing 16-1: WebActivator Template
[assembly: WebActivator.PreApplicationStartMethod( typeof(SomeNamespace.AppActivator), "PreStart")] [assembly: WebActivator.PostApplicationStartMethod( typeof(SomeNamespace.AppActivator), "PostStart")] [assembly: WebActivator.ApplicationShutdownMethodAttribute( typeof(SomeNamespace.AppActivator), "Stop")] namespace SomeNamespace { public static class AppActivator { public static void PreStart() { // Code that runs ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access