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();
}
}
}