示例#1
0
        public static void Register()
        {
            if (isRegistered)
            {
                return;
            }

            lock (Locker)
            {
                if (isRegistered)
                {
                    return;
                }

                var container = AutofacConfigLoader.Load("projects");

                container.Register(c => DbManager.FromHttpContext(Global.DbID))
                .AsSelf()
                .As <IDbManager>()
                .InstancePerRequest();

                container.Register(c => new ProjectSecurityCommon())
                .AsSelf()
                .InstancePerRequest()
                .PropertiesAutowired();

                container.Register(c => new ProjectSecurityProject())
                .AsSelf()
                .As <ProjectSecurityTemplate <Project> >()
                .InstancePerRequest()
                .PropertiesAutowired();

                container.Register(c => new ProjectSecurityTask())
                .AsSelf()
                .As <ProjectSecurityTemplate <Task> >()
                .InstancePerRequest()
                .PropertiesAutowired();

                container.Register(c => new ProjectSecurityMilestone())
                .AsSelf()
                .As <ProjectSecurityTemplate <Milestone> >()
                .InstancePerRequest()
                .PropertiesAutowired();

                container.Register(c => new ProjectSecurityMessage())
                .AsSelf()
                .As <ProjectSecurityTemplate <Message> >()
                .InstancePerRequest()
                .PropertiesAutowired();

                container.Register(c => new ProjectSecurityTimeTracking())
                .AsSelf()
                .As <ProjectSecurityTemplate <TimeSpend> >()
                .InstancePerRequest()
                .PropertiesAutowired();

                Builder      = container.Build();
                isRegistered = true;
            }
        }
示例#2
0
        public static void Register()
        {
            if (isRegistered)
            {
                return;
            }

            lock (Locker)
            {
                if (isRegistered)
                {
                    return;
                }

                var container = AutofacConfigLoader.Load("crm");

                container.Register(c => DbManager.FromHttpContext("default"))
                .AsSelf()
                .As <IDbManager>()
                .InstancePerRequest();

                Builder      = container.Build();
                isRegistered = true;
            }
        }
示例#3
0
        public static void Init()
        {
            if (!initialized)
            {
                lock (locker)
                {
                    if (!initialized)
                    {
                        var container = AutofacConfigLoader.Load("api");

                        container.Register(c => LogManager.GetLogger("ASC.Api"))
                        .As <ILog>()
                        .SingleInstance();

                        container.Register(c => c.Resolve <IApiRouteConfigurator>().RegisterEntryPoints())
                        .As <IEnumerable <IApiMethodCall> >()
                        .SingleInstance();

                        Builder = container.Build();

                        ConfigureEntryPoints();
                        RegisterRoutes();

                        initialized = true;
                    }
                }
            }
        }
        public static List <MsDocEntryPoint> GenerateDocs()
        {
            var containerBuilder = AutofacConfigLoader.Load("api");

            containerBuilder.Register(c => c.Resolve <IApiRouteConfigurator>().RegisterEntryPoints())
            .As <IEnumerable <IApiMethodCall> >()
            .SingleInstance();

            var container = containerBuilder.Build();

            var entries = container.Resolve <IEnumerable <IApiMethodCall> >();

            var apiEntryPoints = container.ComponentRegistry.Registrations.Where(x => typeof(IApiEntryPoint).IsAssignableFrom(x.Activator.LimitType)).ToList();

            var generator = new MsDocDocumentGenerator(container);

            foreach (var apiEntryPoint in entries.GroupBy(x => x.ApiClassType))
            {
                var point = apiEntryPoint;
                generator.GenerateDocForEntryPoint(
                    apiEntryPoints.SingleOrDefault(x => x.Activator.LimitType == point.Key),
                    apiEntryPoint.AsEnumerable());
            }

            return(generator.Points);
        }
示例#5
0
        static EncryptionFactory()
        {
            var container = AutofacConfigLoader.Load("encryption");

            if (container != null)
            {
                Builder = container.Build();
            }
        }
示例#6
0
        static LogManager()
        {
            var container = AutofacConfigLoader.Load("core");

            if (container != null)
            {
                Builder = container.Build();
            }

            Logs = new ConcurrentDictionary <string, ILog>();
        }
        static LdapNotifyHelper()
        {
            var container = AutofacConfigLoader.Load("ldap");

            if (container != null)
            {
                Builder = container.Build();
            }

            clients   = new Dictionary <int, Tuple <INotifyClient, LdapNotifySource> >();
            ldapTasks = new DistributedTaskQueue("ldapAutoSyncOperations");
        }
示例#8
0
        internal static void Init()
        {
            try
            {
                if (isInit)
                {
                    return;
                }

                lock (Locker)
                {
                    if (isInit)
                    {
                        return;
                    }

                    var         container = AutofacConfigLoader.Load("files").Build();
                    IDaoFactory factory;
                    if (!container.TryResolve(out factory))
                    {
                        factory = new DaoFactory();
                        Logger.Fatal("Could not resolve IDaoFactory instance. Using default DaoFactory instead.");
                    }

                    IFileStorageService storageService;
                    if (!container.TryResolve(out storageService))
                    {
                        storageService = new FileStorageServiceController();
                        Logger.Fatal("Could not resolve IFileStorageService instance. Using default FileStorageServiceController instead.");
                    }

                    DaoFactory         = factory;
                    FileStorageService = storageService;
                    isInit             = true;
                }
            }
            catch (Exception error)
            {
                Logger.Fatal("Could not resolve IDaoFactory instance. Using default DaoFactory instead.", error);
                DaoFactory         = new DaoFactory();
                FileStorageService = new FileStorageServiceController();
            }
        }
        private static List <MsDocEntryPoint> GenerateDocs()
        {
            var containerBuilder = AutofacConfigLoader.Load("api");

            containerBuilder.Register(c => LogManager.GetLogger("ASC"))
            .As <ILog>()
            .SingleInstance();

            containerBuilder.Register(c => c.Resolve <IApiRouteConfigurator>().RegisterEntryPoints())
            .As <IEnumerable <IApiMethodCall> >()
            .SingleInstance();

            var container = containerBuilder.Build();

            var entries = container.Resolve <IEnumerable <IApiMethodCall> >();

            var apiEntryPoints = container.ComponentRegistry.Registrations.Where(x => typeof(IApiEntryPoint).IsAssignableFrom(x.Activator.LimitType)).ToList();

            var generator = new MsDocDocumentGenerator(container);

            foreach (var apiEntryPoint in entries.GroupBy(x => x.ApiClassType))
            {
                var point = apiEntryPoint;
                generator.GenerateDocForEntryPoint(
                    apiEntryPoints.SingleOrDefault(x => x.Activator.LimitType == point.Key),
                    apiEntryPoint.AsEnumerable());
            }

            foreach (var method in generator.Points.SelectMany(x => x.Methods))
            {
                if (string.IsNullOrEmpty(method.Example))
                {
                    try
                    {
                        MsDocDocumentGenerator.GenerateRequestExample(method);
                    }
                    catch { }
                }
            }

            return(generator.Points);
        }
示例#10
0
 private static void ConfigureServiceLocator()
 {
     AutofacConfigLoader.Load("files").Build();
 }