예제 #1
0
 /// <summary>
 /// The current OLM container
 /// </summary>
 private static IContainer GetContainer()
 {
     if (ContainerSingleton.IsInstance()) return ContainerSingleton;
     lock (LockObject)
     {
         var container = new AdvancedActivator<IContainer>().CreateInstance(typeof(Container));
         if (ContainerSingleton != null) return ContainerSingleton;
         ContainerSingleton = container;
     }
     return ContainerSingleton;
 }
예제 #2
0
 /// <summary>
 /// The current OLM container
 /// </summary>
 private static IContainer GetContainer()
 {
     if (ContainerSingleton.IsInstance())
     {
         return(ContainerSingleton);
     }
     lock (LockObject)
     {
         var container = new AdvancedActivator <IContainer>().CreateInstance(typeof(Container));
         if (ContainerSingleton != null)
         {
             return(ContainerSingleton);
         }
         ContainerSingleton = container;
     }
     return(ContainerSingleton);
 }
        /// <summary>
        /// The current OLM container
        /// </summary>
        /// <param name="context"></param>
        private static IContainer GetContainer(ContextProviders.IScopeContext context)
        {
            if (ContainerSingleton.IsInstance())
            {
                return(new ScopedContainer(ContainerSingleton, context));
            }
            lock (LockObject)
            {
                var container = new AdvancedActivator <IContainer>().CreateInstance(typeof(Container));
                if (ContainerSingleton != null)
                {
                    return(ContainerSingleton);
                }
                ContainerSingleton = container;
            }

            return(new ScopedContainer(ContainerSingleton, context));
        }