/// <summary> /// Integrates Unity when the application starts. /// </summary> 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); var resolver = new Unity.WebApi.UnityDependencyResolver(UnityConfig.container); GlobalConfiguration.Configuration.DependencyResolver = resolver; }
public static void Initialize(HttpConfiguration config) { //Get unity container instance with configured type mappings var container = GetConfiguredContainer(); //Configure MVC dependency resolver var mvcDependencyResolver = new Unity.Mvc3.UnityDependencyResolver(container); DependencyResolver.SetResolver(mvcDependencyResolver); //Configure WebApi dependency resolver var apiDependencyResolver = new Unity.WebApi.UnityDependencyResolver(container); config.DependencyResolver = apiDependencyResolver; }
public static IUnityContainer Initialize() { var container = new UnityContainer(); //TODO: Load these values from configuration. var baseUri = new Uri("http://localhost/"); var lockBaseUri = new Uri("http://localhost/system/lock/"); container.RegisterType<Valley.IResourceManager, Valley.Storage.ResourceManager>(new ContainerControlledLifetimeManager(), new InjectionConstructor(baseUri)); container.RegisterType<Valley.ILockManager, Valley.Storage.LockManager>(new ContainerControlledLifetimeManager(), new InjectionConstructor(lockBaseUri)); container.RegisterType<Valley.IHttpActionPolicyEvidenceProvider, MockEvidenceProvider>(new ContainerControlledLifetimeManager()); container.RegisterType<Valley.IHttpActionPolicyEnforcer, MockPolicyEnforcer>(new ContainerControlledLifetimeManager()); container.AddNewExtension<Valley.UnityExtension>(); var resolver = new Unity.WebApi.UnityDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = resolver; var locator = new UnityServiceLocator(container); ServiceLocator.SetLocatorProvider(() => locator); return container; }