本文整理汇总了C#中BulkMixedWriteOperation.ExecuteAsync方法的典型用法代码示例。如果您正苦于以下问题:C# BulkMixedWriteOperation.ExecuteAsync方法的具体用法?C# BulkMixedWriteOperation.ExecuteAsync怎么用?C# BulkMixedWriteOperation.ExecuteAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BulkMixedWriteOperation
的用法示例。
在下文中一共展示了BulkMixedWriteOperation.ExecuteAsync方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeleteHelperAsync
private async Task DeleteHelperAsync(BsonValue id, CancellationToken cancellationToken = default(CancellationToken))
{
var filesCollectionNamespace = GetFilesCollectionNamespace();
var chunksCollectionNamespace = GetChunksCollectionNamespace();
var messageEncoderSettings = GetMessageEncoderSettings();
using (var binding = await GetSingleServerReadWriteBindingAsync(cancellationToken).ConfigureAwait(false))
{
var filesCollectionDeleteRequests = new[] { new DeleteRequest(new BsonDocument("_id", id)) };
var filesCollectionDeleteOperation = new BulkMixedWriteOperation(
filesCollectionNamespace,
filesCollectionDeleteRequests,
messageEncoderSettings);
var filesCollectionDeleteResult = await filesCollectionDeleteOperation.ExecuteAsync(binding, cancellationToken).ConfigureAwait(false);
var chunksDeleteRequests = new[] { new DeleteRequest(new BsonDocument("files_id", id)) { Limit = 0 } };
var chunksDeleteOperation = new BulkMixedWriteOperation(
chunksCollectionNamespace,
chunksDeleteRequests,
messageEncoderSettings);
await chunksDeleteOperation.ExecuteAsync(binding, cancellationToken).ConfigureAwait(false);
if (filesCollectionDeleteResult.DeletedCount == 0)
{
throw new GridFSFileNotFoundException(id);
}
}
}
示例2: RenameHelperAsync
private async Task RenameHelperAsync(BsonValue id, string newFilename, CancellationToken cancellationToken = default(CancellationToken))
{
var filesCollectionNamespace = GetFilesCollectionNamespace();
var filter = new BsonDocument("_id", id);
var update = new BsonDocument("$set", new BsonDocument("filename", newFilename));
var requests = new[] { new UpdateRequest(UpdateType.Update, filter, update) };
var messageEncoderSettings = GetMessageEncoderSettings();
var updateOperation = new BulkMixedWriteOperation(filesCollectionNamespace, requests, messageEncoderSettings);
using (var binding = await GetSingleServerReadWriteBindingAsync(cancellationToken).ConfigureAwait(false))
{
var result = await updateOperation.ExecuteAsync(binding, cancellationToken).ConfigureAwait(false);
if (result.IsModifiedCountAvailable && result.ModifiedCount == 0)
{
throw new GridFSFileNotFoundException(id);
}
}
}
示例3: AbortAsync
// methods
public override async Task AbortAsync(CancellationToken cancellationToken = default(CancellationToken))
{
if (_aborted)
{
return;
}
ThrowIfClosedOrDisposed();
_aborted = true;
var chunksCollectionNamespace = _bucket.GetChunksCollectionNamespace();
var filter = new BsonDocument("files_id", _id);
var deleteRequest = new DeleteRequest(filter) { Limit = 0 };
var requests = new WriteRequest[] { deleteRequest };
var messageEncoderSettings = _bucket.GetMessageEncoderSettings();
var operation = new BulkMixedWriteOperation(chunksCollectionNamespace, requests, messageEncoderSettings)
{
WriteConcern = _bucket.Options.WriteConcern
};
await operation.ExecuteAsync(_binding, cancellationToken).ConfigureAwait(false);
}