private async Task <ulong> CreateBlobAsyncWorker(CancellationToken cancellationToken) { await TaskUtilities.SwitchToBackgroundThread(); var request = await CreateBlobRequest.CreateAsync(this, cancellationToken); return(await request.Task); }
public async Task <ulong> CreateBlobAsync(CancellationToken cancellationToken) { if (_runTask == null) { throw new InvalidOperationException("Host was not started"); } using (CancellationTokenUtilities.Link(ref cancellationToken, _cts.Token)) { try { await TaskUtilities.SwitchToBackgroundThread(); var request = await CreateBlobRequest.CreateAsync(this, cancellationToken); return(await request.Task); } catch (OperationCanceledException ex) when(_cts.IsCancellationRequested) { throw new RHostDisconnectedException(Resources.Error_RHostIsStopped, ex); } } }