public void Register(ContainerBuilder builder, ITypeFinder typeFinder, HylWebConfig config)
 {
     builder.Register(db => new DbConnectionFactory(config).CreateDbConnection()).As <IDbConnection>();
     builder.RegisterType <DbQuery>().As <IDbQuery>();
     builder.RegisterGeneric(typeof(Repository <>)).As(typeof(IRepository <>));
     //builder.RegisterGeneric(typeof(NhibernateRepository<>)).Named<string>("NH").As(typeof(IRepository<>));
 }
Esempio n. 2
0
        /// <summary>
        /// Register dependencies
        /// </summary>
        /// <param name="config">Config</param>
        protected virtual void RegisterDependencies(HylWebConfig config)
        {
            var builder = new ContainerBuilder();

            ////dependencies
            var typeFinder = new WebAppTypeFinder();

            builder.RegisterInstance(config).As <HylWebConfig>().SingleInstance();
            builder.RegisterInstance(this).As <IEngine>().SingleInstance();
            builder.RegisterInstance(typeFinder).As <ITypeFinder>().SingleInstance();

            //register dependencies provided by other assemblies
            var drTypes     = typeFinder.FindClassesOfType <IDependencyRegistrar>();
            var drInstances = new List <IDependencyRegistrar>();

            foreach (var drType in drTypes)
            {
                drInstances.Add((IDependencyRegistrar)Activator.CreateInstance(drType));
            }
            //sort
            drInstances = drInstances.AsQueryable().OrderBy(t => t.Order).ToList();
            foreach (var dependencyRegistrar in drInstances)
            {
                dependencyRegistrar.Register(builder, typeFinder, config);
            }

            var container = builder.Build();

            this._containerManager = new ContainerManager(container);

            //set dependency resolver
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
Esempio n. 3
0
 public AuthController(HylWebConfig hylWebConfig)
 {
     _hylWebConfig = hylWebConfig;
     if (!string.IsNullOrEmpty(_hylWebConfig.GkUrl))
     {
         _hylWebConfig.GkUrl = _hylWebConfig.GkUrl.Trim('/');
     }
 }
Esempio n. 4
0
        public void Register(ContainerBuilder builder, ITypeFinder typeFinder, HylWebConfig config)
        {
            //register all services that inherit interface IServicesDependency
            var baseType = typeof(IServicesDependency);

            //var assembly = BuildManager.GetReferencedAssemblies().Cast<Assembly>().ToList();
            var assembly = AppDomain.CurrentDomain.GetAssemblies().ToList();

            builder.RegisterAssemblyTypes(assembly.ToArray()).Where(t => baseType.IsAssignableFrom(t) && t != baseType).AsImplementedInterfaces().InstancePerLifetimeScope();
        }
        public void Register(ContainerBuilder builder, ITypeFinder typeFinder, HylWebConfig config)
        {
            //cache managers
            builder.RegisterType <PerRequestCacheManager>().As <ICacheManager>().Named <ICacheManager>("hyl_cache_per_request").InstancePerLifetimeScope();
            if (config.RedisCachingEnabled)
            {
                builder.Register(wp => new RedisConnectionWrapper(config)).As <IRedisConnectionWrapper>().SingleInstance();
                builder.RegisterType <RedisCacheManager>().As <ICacheManager>().InstancePerLifetimeScope();
            }
            else
            {
                builder.RegisterType <MemoryCacheManager>().As <ICacheManager>().SingleInstance();
            }
            builder.RegisterGeneric(typeof(DefaultLog <>)).WithParameter(new NamedParameter("config", config)).As(typeof(ILogs <>));
            builder.RegisterType <QuartzManager>().As <IJobManager>();

            // Schedule
            builder.Register(x => new StdSchedulerFactory().GetScheduler()).As <IScheduler>();
            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).Where(x => typeof(IJob).IsAssignableFrom(x));
        }
 public DbConnectionFactory(HylWebConfig config)
 {
     connectionString = config.ConnectionString;
     databaseType     = config.DbType;
 }
Esempio n. 7
0
 public RedisConnectionWrapper(HylWebConfig config)
 {
     this._config           = config;
     this._connectionString = new Lazy <string>(GetConnectionString);
     this._redisLockFactory = CreateRedisLockFactory();
 }
Esempio n. 8
0
 public DefaultLog(HylWebConfig config)
 {
     //DefaultLogHelper.InitDbInfo(config);
     log = LogManager.GetLogger(typeof(T));
 }
Esempio n. 9
0
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, HylWebConfig config)
        {
            // MVC - Register your MVC controllers.
            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            // MVC - OPTIONAL: Register model binders that require DI.
            builder.RegisterModelBinders(typeof(MvcApplication).Assembly);
            builder.RegisterModelBinderProvider();
            // MVC - OPTIONAL: Enable property injection into action filters.
            builder.RegisterFilterProvider();


            //// MVC - OPTIONAL: Register web abstractions like HttpContextBase.
            //builder.RegisterModule<AutofacWebTypesModule>(); //下面手动注册
            //HTTP context and other related stuff
            builder.Register(c => new HttpContextWrapper(HttpContext.Current) as HttpContextBase).As <HttpContextBase>().InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Request).As <HttpRequestBase>().InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Response).As <HttpResponseBase>().InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Server).As <HttpServerUtilityBase>().InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Session).As <HttpSessionStateBase>().InstancePerLifetimeScope();
        }
Esempio n. 10
0
 /// <summary>
 /// Initialize components and plugins in the nop environment.
 /// </summary>
 /// <param name="config">Config</param>
 ///
 public void Initialize(HylWebConfig config)
 {
     //register dependencies
     RegisterDependencies(config);
 }
Esempio n. 11
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            HylWebConfig _cfg = EngineContext.Current.Resolve <HylWebConfig>();

            return(_cfg.IntegrateGuanKong ? (int)WebWorkContext.AuthorityId <= 100 : true);
        }