Exemplo n.º 1
0
 public static void RegisterDynomoDbCacheService(this IServiceCollection services, DistributedCacheDynamoDbSettings settings, ServiceLifetime lifeTime)
 {
     RegisterDynomoDbCacheService <DefaultCacheTable>(services, settings, lifeTime);
 }
Exemplo n.º 2
0
        public static void RegisterDynomoDbCacheService <T>(this IServiceCollection services, DistributedCacheDynamoDbSettings settings, ServiceLifetime lifeTime) where T : ICacheTable
        {
            services.Add(new ServiceDescriptor(typeof(ICacheTtlManager), (c) => new CacheTtlManager(settings.DefaultTtl), lifeTime));

            services.Add(new ServiceDescriptor(typeof(IDynamoDBContext), (c) => new DynamoDBContext(new AmazonDynamoDBClient(new BasicAWSCredentials(settings.AccessKey, settings.AccessSecret),
                                                                                                                             new AmazonDynamoDBConfig {
                RegionEndpoint = settings.ReginEndpoint
            })), lifeTime));

            services.Add(new ServiceDescriptor(typeof(IAmazonDynamoDB), (c) => new AmazonDynamoDBClient(new BasicAWSCredentials(settings.AccessKey, settings.AccessSecret),
                                                                                                        new AmazonDynamoDBConfig {
                RegionEndpoint = settings.ReginEndpoint
            }), lifeTime));

            services.Add(new ServiceDescriptor(typeof(IDynamoDbService), typeof(DynamoDbService), lifeTime));

            services.Add(new ServiceDescriptor(typeof(IStartUpManager), (c) => new StartUpManager(c.GetService <IDynamoDbService>(), settings.StartUpSettings), lifeTime));

            services.Add(new ServiceDescriptor(typeof(IDistributedCache),
                                               (c) => new DistributedCacheService <T>(c.GetService <IDynamoDBContext>(), c.GetService <ICacheTtlManager>(), c.GetService <IStartUpManager>(), settings.Encoding), lifeTime));
        }
Exemplo n.º 3
0
 public static void RegisterDynomoDbCacheService <T>(this IServiceCollection services, DistributedCacheDynamoDbSettings settings) where T : ICacheTable
 {
     RegisterDynomoDbCacheService <T>(services, settings, ServiceLifetime.Scoped);
 }