/// <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); } }
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); } }
/// <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); } }