protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); ////Loding the Unity Container from Web Config IUnityContainer containerUnity = UnityContainerBootstrapper.Bootstrap(); UnityMvcServiceLocator unityMVCServiceLcator = new UnityMvcServiceLocator(containerUnity); HttpContext.Current.Cache["UnityServiceLocator"] = unityMVCServiceLcator; var factory = new ServiceLocatorControllerFactory(unityMVCServiceLcator); ControllerBuilder.Current.SetControllerFactory(factory); DependencyResolver.SetResolver(unityMVCServiceLcator); //Add the InterfaceModelBinder ModelBinders.Binders.DefaultBinder = new InterfaceModelBinder(unityMVCServiceLcator); }
protected ServiceLocatorControllerFactory(UnityMvcServiceLocator container, IControllerFactory innerFactory) { _container = container; _innerFactory = innerFactory; }
public ServiceLocatorControllerFactory(UnityMvcServiceLocator container) : this(container, new DefaultControllerFactory()) { }