コード例 #1
0
ファイル: RedisInstance.cs プロジェクト: feitianyiren/BuildXL
        public static async Task <Result <(IRedisCache Cache, RedisClusterSize Size)> > GenerateInstanceMetadataAsync(IAzure azure, string resourceId, CancellationToken cancellationToken = default)
        {
            // TODO: error handling
            var redisCache = await azure.RedisCaches.GetByIdAsync(resourceId, cancellationToken);

            var clusterSize = RedisClusterSize.FromAzureCache(redisCache).ThrowIfFailure();

            Contract.AssertNotNull(clusterSize);
            return(new Result <(IRedisCache Cache, RedisClusterSize Size)>((redisCache, clusterSize)));
        }
コード例 #2
0
 public static Result <IRedisInstance> FromPreloaded(IAzure azure, IRedisCache redisCache, bool readOnly)
 {
     return(RedisClusterSize
            .FromAzureCache(redisCache)
            .Select(clusterSize =>
     {
         if (readOnly)
         {
             return (IRedisInstance) new ReadOnlyRedisInstance(azure, redisCache.Id, redisCache, clusterSize);
         }
         else
         {
             return (IRedisInstance) new RedisInstance(azure, redisCache.Id, redisCache, clusterSize);
         }
     }));
 }
コード例 #3
0
ファイル: RedisInstance.cs プロジェクト: feitianyiren/BuildXL
 public static Result <RedisInstance> FromPreloaded(IAzure azure, IRedisCache redisCache)
 {
     return(RedisClusterSize
            .FromAzureCache(redisCache)
            .Select(clusterSize => new RedisInstance(azure, redisCache.Id, redisCache, clusterSize)));
 }