Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Hangfire.Storage;
- using Microsoft.Practices.Unity;
- using Microsoft.Practices.Unity.Mvc;
- using System.Linq;
- using System.Web;
- using System.Web.Http;
- using System.Web.Mvc;
- using Umbraco.Core;
- using Umbraco.Extensions;
- using Umbraco.Extensions.App_Start;
- using Umbraco.Web;
- using Umbraco.Web.HealthCheck;
- class UnityEvents : IApplicationEventHandler
- {
- public void OnApplicationStarted(
- UmbracoApplicationBase httpApplication,
- ApplicationContext applicationContext
- )
- {
- var container = UnityConfig.GetConfiguredContainer();
- // If you intend to use DI with filter attributes
- FilterProviders.Providers.Remove(FilterProviders.Providers.OfType<FilterAttributeFilterProvider>().First());
- FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(container));
- // Web API
- GlobalConfiguration.Configuration.DependencyResolver = new Microsoft.Practices.Unity.WebApi.UnityDependencyResolver(container);
- // MVC
- DependencyResolver.SetResolver(new Microsoft.Practices.Unity.Mvc.UnityDependencyResolver(container));
- container.RegisterTypes(
- AllClasses.FromAssemblies(typeof(UnityConfig).Assembly),
- WithMappings.FromMatchingInterface,
- WithName.Default
- );
- container.RegisterInstance(ApplicationContext.Current);
- container.RegisterInstance(new Configuration());
- container.RegisterType<HttpContextBase>(new PerRequestLifetimeManager(), new InjectionFactory(c => new HttpContextWrapper(HttpContext.Current)));
- container.RegisterType<UmbracoContext>(new PerRequestLifetimeManager(), new InjectionFactory(c => UmbracoContext.Current));
- container.RegisterType<UmbracoHelper>(new PerRequestLifetimeManager(), new InjectionConstructor(typeof(UmbracoContext)));
- container.RegisterType<HealthCheckController>(new InjectionConstructor());
- container.RegisterType<IStorageConnection>(new InjectionFactory(c => Hangfire.JobStorage.Current.GetConnection()));
- }
- public void OnApplicationInitialized(UmbracoApplicationBase httpApplication, ApplicationContext applicationContext)
- {
- }
- public void OnApplicationStarting(UmbracoApplicationBase httpApplication, ApplicationContext applicationContext)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement