public RedisSink(SubscriptionMetadata metadata, ILog logger = null) : base(metadata, logger) { tqueue = new TaskQueue(); cqm = new ConcurrentQueueManager(); auditor = AuditFactory.CreateSingleton().GetAuditor(AuditType.Message); uri = new Uri(metadata.NotifyAddress); connectionString = $"{uri.Authority}:6380,password={metadata.SymmetricKey},ssl=True,abortConnect=False"; NameValueCollection nvc = HttpUtility.ParseQueryString(uri.Query); if (!int.TryParse(nvc["db"], out dbNumber)) { dbNumber = -1; } if (TimeSpan.TryParse(nvc["expiry"], out TimeSpan expiration)) { expiry = expiration; } if (string.IsNullOrEmpty(metadata.ClaimKey)) { cacheClaimType = metadata.ClaimKey; } connection = ConnectionMultiplexer.ConnectAsync(connectionString).GetAwaiter().GetResult(); database = connection.GetDatabase(dbNumber); }
public RedisSink(SubscriptionMetadata metadata) : base(metadata) { tqueue = new TaskQueue(); cqm = new ConcurrentQueueManager(); auditor = AuditFactory.CreateSingleton().GetAuditor(AuditType.Message); uri = new Uri(metadata.NotifyAddress); connectionString = String.Format("{0}:6380,password={1},ssl=True,abortConnect=False", uri.Authority, metadata.SymmetricKey); NameValueCollection nvc = HttpUtility.ParseQueryString(uri.Query); if (!int.TryParse(nvc["db"], out dbNumber)) { dbNumber = -1; } TimeSpan expiration; if (TimeSpan.TryParse(nvc["expiry"], out expiration)) { expiry = expiration; } if (string.IsNullOrEmpty(metadata.ClaimKey)) { cacheClaimType = metadata.ClaimKey; } connection = ConnectionMultiplexer.ConnectAsync(connectionString).GetAwaiter().GetResult(); //Task<ConnectionMultiplexer> task = ConnectionMultiplexer.ConnectAsync(connectionString); //Task.WaitAll(task); //connection = task.Result; }