Произошло необработанное исключение типа «System.StackOverflowException» в System.Core.dll

В моем проекте Asp.net MVC

У меня есть загрузчик, который инициализирует контейнер для единства.

Я нене знаю почему, но я получаю

Необработанное исключение типа 'System.StackOverflowException» произошло в System.Core.dll

Я дважды проверил, и регистрация выполняется только в моем инициализаторе.

Все зависимости вводятся только в ctors.

Что могло вызвать это?

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);

        Initializer.Initialize();
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }

Это не удается послеBundleConfig.RegisterBundles(BundleTable.Bundles);

public static class Initializer
{
    private static bool isInitialize;
    private static readonly object LockObj = new object();
    private static IUnityContainer defaultContainer = new UnityContainer();

    static Initializer()
    {
        Initialize();
    }

    public static void Initialize()
    {
        if (isInitialize)
            return;

        lock (LockObj)
        {
            IUnityContainer container = defaultContainer;

            //registering Unity for MVC
            DependencyResolver.SetResolver(new UnityDependencyResolver(container));

            //registering Unity for web API
            //  GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);

            #region managers
            container.RegisterType();

            container.RegisterType();

            container.RegisterType();
            #endregion

            #region Dals
            container.RegisterType();

            #endregion Dals

            #region cache
            container.RegisterType(new ContainerControlledLifetimeManager());

            container.RegisterType(new ContainerControlledLifetimeManager());

            container.RegisterType(new ContainerControlledLifetimeManager());
            #endregion cache

            #region Pollers
            container.RegisterType(new ContainerControlledLifetimeManager());

            container.RegisterType(new ContainerControlledLifetimeManager());

            container.RegisterType(new ContainerControlledLifetimeManager());



            #endregion Pollers


            container.RegisterType(new ContainerControlledLifetimeManager());

            container.RegisterType();

            if (!isInitialize)
            {
                isInitialize = true;
            }
        }
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос