本文整理汇总了C#中IFdbTransaction.GetKeyAsync方法的典型用法代码示例。如果您正苦于以下问题:C# IFdbTransaction.GetKeyAsync方法的具体用法?C# IFdbTransaction.GetKeyAsync怎么用?C# IFdbTransaction.GetKeyAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFdbTransaction
的用法示例。
在下文中一共展示了IFdbTransaction.GetKeyAsync方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Scenario5
private async Task Scenario5(IFdbTransaction tr)
{
var location = FdbSubspace.Create(Slice.FromAscii("TEST"));
//tr.Set(location.Pack(42), Slice.FromString("42"));
//tr.Set(location.Pack(50), Slice.FromString("50"));
//tr.Set(location.Pack(60), Slice.FromString("60"));
var x = await tr.GetKeyAsync(FdbKeySelector.LastLessThan(location.Pack(49)));
Console.WriteLine(x);
tr.Set(location.Pack("FOO"), Slice.FromString("BAR"));
}
示例2: GetChunkAtAsync
private async Task<Chunk> GetChunkAtAsync(IFdbTransaction trans, long offset)
{
Contract.Requires(trans != null && offset >= 0);
var chunkKey = await trans.GetKeyAsync(FdbKeySelector.LastLessOrEqual(DataKey(offset))).ConfigureAwait(false);
if (chunkKey.IsNull)
{ // nothing before (sparse)
return default(Chunk);
}
if (chunkKey < DataKey(0))
{ // off beginning
return default(Chunk);
}
long chunkOffset = DataKeyOffset(chunkKey);
Slice chunkData = await trans.GetAsync(chunkKey).ConfigureAwait(false);
if (chunkOffset + chunkData.Count <= offset)
{ // in sparse region after chunk
return default(Chunk);
}
return new Chunk(chunkKey, chunkData, chunkOffset);
}