示例#1
0
        public ICacheProvider CreateCacheProvider(Statement statement)
        {
            ICacheProvider _cacheProvider = null;

            Parameters["Prefix"] = statement.FullSqlId;
            switch (Type)
            {
            case "Lru":
            {
                _cacheProvider = new LruCacheProvider();
                break;
            }

            case "Fifo":
            {
                _cacheProvider = new FifoCacheProvider();
                break;
            }

            default:
            {
                var assName = new AssemblyName {
                    Name = AssemblyName
                };
                Type _cacheProviderType = Assembly.Load(assName).GetType(TypeName);
                _cacheProvider = Activator.CreateInstance(_cacheProviderType) as ICacheProvider;
                break;
            }
            }
            _cacheProvider.Initialize(Parameters);
            return(_cacheProvider);
        }
示例#2
0
        private ICacheProvider CreateCacheProvider(Configuration.Cache cache)
        {
            ICacheProvider cacheProvider = null;

            switch (cache.Type)
            {
            case "Lru":
            {
                cacheProvider = new LruCacheProvider();
                break;
            }

            case "Fifo":
            {
                cacheProvider = new FifoCacheProvider();
                break;
            }

            default:
            {
                Type cacheProviderType = TypeUtils.GetType(cache.Type);
                cacheProvider = SmartSqlConfig.ObjectFactoryBuilder
                                .GetObjectFactory(cacheProviderType, Type.EmptyTypes)(null) as ICacheProvider;
                break;
            }
            }
            cacheProvider.Initialize(cache.Parameters);
            return(cacheProvider);
        }
示例#3
0
文件: Cache.cs 项目: ym1100/AceSaaS
        private ICacheProvider CreateCacheProvider()
        {
            ICacheProvider provider = null;

            if (Type.HasValue())
            {
                switch (Type)
                {
                case "lru":
                    provider = new LruCacheProvider();
                    break;

                case "fifo":
                    provider = new FifoCacheProvider();
                    break;

                default:
                    provider = Dynamic.GetInstanceCreator(System.Type.GetType(Type))() as ICacheProvider;
                    break;
                }
            }
            else
            {
                provider = new NoneCacheProvider();
            }
            provider.Initialize(Params);
            return(provider);
        }
示例#4
0
        private static ICacheProvider CreateCacheProvider(Cache cache)
        {
            ICacheProvider _cacheProvider = null;

            switch (cache.Type)
            {
            case "Lru":
            {
                _cacheProvider = new LruCacheProvider();
                break;
            }

            case "Fifo":
            {
                _cacheProvider = new FifoCacheProvider();
                break;
            }

            default:
            {
                var assName = new AssemblyName {
                    Name = cache.AssemblyName
                };
                Type _cacheProviderType = Assembly.Load(assName).GetType(cache.TypeName);
                _cacheProvider = Activator.CreateInstance(_cacheProviderType) as ICacheProvider;
                break;
            }
            }
            _cacheProvider.Initialize(cache.Parameters);
            return(_cacheProvider);
        }