using System.Web.Http; using Unity.AspNet.WebApi; [assembly: WebActivatorEx.PreApplicationStartMethod(typeof(Api.UnityWebApiActivator), nameof(Api.UnityWebApiActivator.Start))] [assembly: WebActivatorEx.ApplicationShutdownMethod(typeof(Api.UnityWebApiActivator), nameof(Api.UnityWebApiActivator.Shutdown))] namespace Api { /// /// Provides the bootstrapping for integrating Unity with WebApi when it is hosted in ASP.NET. /// public static class UnityWebApiActivator { /// /// Integrates Unity when the application starts. /// public static void Start() { // Use UnityHierarchicalDependencyResolver if you want to use // a new child container for each IHttpController resolution. // var resolver = new UnityHierarchicalDependencyResolver(UnityConfig.Container); var resolver = new UnityDependencyResolver(UnityConfig.Container); GlobalConfiguration.Configuration.DependencyResolver = resolver; } /// /// Disposes the Unity container when the application is shut down. /// public static void Shutdown() { UnityConfig.Container.Dispose(); } } }