using System.Linq;
using System.Web.Mvc;
using Unity.AspNet.Mvc;
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(PaymentPortal.UnityMvcActivator), nameof(PaymentPortal.UnityMvcActivator.Start))]
[assembly: WebActivatorEx.ApplicationShutdownMethod(typeof(PaymentPortal.UnityMvcActivator), nameof(PaymentPortal.UnityMvcActivator.Shutdown))]
namespace PaymentPortal
{
///
/// Provides the bootstrapping for integrating Unity with ASP.NET MVC.
///
public static class UnityMvcActivator
{
///
/// Integrates Unity when the application starts.
///
public static void Start()
{
FilterProviders.Providers.Remove(FilterProviders.Providers.OfType().First());
FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(UnityConfig.Container));
DependencyResolver.SetResolver(new UnityDependencyResolver(UnityConfig.Container));
// Uncomment if you want to use PerRequestLifetimeManager
//Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(typeof(UnityPerRequestHttpModule));
}
///
/// Disposes the Unity container when the application is shut down.
///
public static void Shutdown()
{
UnityConfig.Container.Dispose();
}
}
}