Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
        }