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 ...

Get Professional ASP.NET MVC 4 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.