本文整理汇总了C#中ConcurrentDictionary.ToLogString方法的典型用法代码示例。如果您正苦于以下问题:C# ConcurrentDictionary.ToLogString方法的具体用法?C# ConcurrentDictionary.ToLogString怎么用?C# ConcurrentDictionary.ToLogString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConcurrentDictionary
的用法示例。
在下文中一共展示了ConcurrentDictionary.ToLogString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: A_lease_can_be_extended
public virtual async Task A_lease_can_be_extended()
{
var tally = new ConcurrentDictionary<string, int>();
var scope = DateTimeOffset.UtcNow.Ticks.ToString();
var distributor1 = CreateDistributor(scope: scope).Trace();
var distributor2 = CreateDistributor(scope: scope).Trace();
Func<Lease, Task> onReceive = async lease =>
{
tally.AddOrUpdate(lease.LeasableResource.Name,
addValueFactory: s => 1,
updateValueFactory: (s, v) => v + 1);
if (lease.LeasableResource.Name == "5")
{
// extend the lease
await lease.Extend(TimeSpan.FromDays(2));
// wait longer than the lease would normally last
await Task.Delay((int) (DefaultLeaseDuration.TotalMilliseconds*5));
}
};
distributor1.OnReceive(onReceive);
distributor2.OnReceive(onReceive);
await distributor1.Start();
await distributor2.Start();
await Task.Delay((int) (DefaultLeaseDuration.TotalMilliseconds * 2.5));
await distributor1.Stop();
await distributor2.Stop();
Console.WriteLine(tally.ToLogString());
tally.Should().ContainKey("5")
.And
.Subject["5"].Should().Be(1);
}