本文整理汇总了C#中ConcurrentBag.ShouldBeSubsetOf方法的典型用法代码示例。如果您正苦于以下问题:C# ConcurrentBag.ShouldBeSubsetOf方法的具体用法?C# ConcurrentBag.ShouldBeSubsetOf怎么用?C# ConcurrentBag.ShouldBeSubsetOf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConcurrentBag
的用法示例。
在下文中一共展示了ConcurrentBag.ShouldBeSubsetOf方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateBatchPublishAndConsume
public async Task CreateBatchPublishAndConsume()
{
var connectionFactory = CreateConnectionFactory();
const int messageAmount = 100;
var messages = GenerateMessages(messageAmount);
using (var queueClient = new RabbitMQClient(connectionFactory))
{
var queueName = $"IntegratedTestQueue_{Guid.NewGuid()}";
queueClient.EnsureQueueExists(queueName);
queueClient.BatchPublish("", queueName, messages);
var receivedMessages = new ConcurrentBag<string>();
var worker = await SimpleMessageProcessingWorker<string>.CreateAndStartAsync(queueClient, queueName,
message => BatchDoSomething(message, receivedMessages), CancellationToken.None);
const int timeLimit = 10000;
var elapsedTime = 0;
while (receivedMessages.Count < messageAmount && elapsedTime < timeLimit)
{
await Task.Delay(100);
elapsedTime += 100;
}
worker.Stop();
queueClient.QueueDelete(queueName);
receivedMessages.Count.ShouldBe(messages.Count);
receivedMessages.ShouldBeSubsetOf(messages);
}
}