protected virtual void ConfigureAspNet(IAppBuilder appBuilder)
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters, Container);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
            ModelBinderConfig.RegisterModelBinder();

            DependencyResolver.SetResolver(new WindsorDependencyResolver(Container));

            var controllerFactory = new CastleWindsorControllerFactory(Container.Kernel);

            ControllerBuilder.Current.SetControllerFactory(controllerFactory);

            var fluentValidationModelValidatorProvider = new FluentValidationModelValidatorProvider(new CastleWindsorFluentValidatorFactory(Container.Kernel));

            ModelValidatorProviders.Providers.Add(fluentValidationModelValidatorProvider);
            DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
        }
        public static void InitializeCastleWindsor(IWindsorContainer container)
        {
            var windsorControllerFactory = new CastleWindsorControllerFactory(container.Kernel);

            System.Web.Mvc.ControllerBuilder.Current.SetControllerFactory(windsorControllerFactory);
        }