/// <summary>
        /// Force server to close current client subscription connection to the server
        /// </summary>
        /// <param name="id"></param>
        /// <param name="database"></param>
        public async Task DropConnectionAsync(string name, string database = null, CancellationToken token = default)
        {
            var requestExecutor = _store.GetRequestExecutor(database ?? _store.Database);

            using (requestExecutor.ContextPool.AllocateOperationContext(out var jsonOperationContext))
            {
                var command = new DropSubscriptionConnectionCommand(name);
                await requestExecutor.ExecuteAsync(command, jsonOperationContext, sessionInfo : null, token : token).ConfigureAwait(false);
            }
        }
Esempio n. 2
0
        public async Task DropConnectionAsync(string id, string database = null)
        {
            var requestExecutor = _store.GetRequestExecutor(database ?? _store.Database);

            using (requestExecutor.ContextPool.AllocateOperationContext(out var jsonOperationContext))
            {
                var command = new DropSubscriptionConnectionCommand(id);
                await requestExecutor.ExecuteAsync(command, jsonOperationContext).ConfigureAwait(false);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Force server to close current subscription worker
        /// </summary>
        /// <param name="worker"></param>
        /// <param name="database"></param>
        public async Task DropSubscriptionWorkerAsync <T>(SubscriptionWorker <T> worker, string database = null, CancellationToken token = default)  where T : class
        {
            database = _store.GetDatabase(database);

            var requestExecutor = _store.GetRequestExecutor(database);

            using (requestExecutor.ContextPool.AllocateOperationContext(out var jsonOperationContext))
            {
                var command = new DropSubscriptionConnectionCommand(worker.SubscriptionName, worker.WorkerId);
                await requestExecutor.ExecuteAsync(command, jsonOperationContext, sessionInfo : null, token : token).ConfigureAwait(false);
            }
        }