本文整理汇总了C#中IEventStoreConnection.ReadStreamEventsForward方法的典型用法代码示例。如果您正苦于以下问题:C# IEventStoreConnection.ReadStreamEventsForward方法的具体用法?C# IEventStoreConnection.ReadStreamEventsForward怎么用?C# IEventStoreConnection.ReadStreamEventsForward使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IEventStoreConnection
的用法示例。
在下文中一共展示了IEventStoreConnection.ReadStreamEventsForward方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Count
public static int Count(IEventStoreConnection store, string stream)
{
var result = 0;
while (true)
{
var slice = store.ReadStreamEventsForward(stream, result, SliceSize, false);
result += slice.Events.Length;
if (slice.IsEndOfStream)
break;
}
return result;
}
示例2: ReadEventsTill
protected override void ReadEventsTill(IEventStoreConnection connection, bool resolveLinkTos,
UserCredentials userCredentials, long? lastCommitPosition, int? lastEventNumber)
{
bool done;
do
{
var slice = connection.ReadStreamEventsForward(StreamId, _nextReadEventNumber, ReadBatchSize, resolveLinkTos, userCredentials);
switch (slice.Status)
{
case SliceReadStatus.Success:
{
foreach (var e in slice.Events)
{
TryProcess(e);
}
_nextReadEventNumber = slice.NextEventNumber;
done = lastEventNumber == null ? slice.IsEndOfStream : slice.NextEventNumber > lastEventNumber;
break;
}
case SliceReadStatus.StreamNotFound:
{
if (lastEventNumber.HasValue && lastEventNumber != -1)
throw new Exception(string.Format("Impossible: stream {0} disappeared in the middle of catching up subscription.", StreamId));
done = true;
break;
}
case SliceReadStatus.StreamDeleted:
throw new StreamDeletedException(StreamId);
default:
throw new ArgumentOutOfRangeException(string.Format("Unexpected StreamEventsSlice.Status: {0}.", slice.Status));
}
if (!done && slice.IsEndOfStream)
Thread.Sleep(1); // we are waiting for server to flush its data
} while (!done);
if (Verbose)
Log.Debug("Catch-up Subscription to {0}: finished reading events, nextReadEventNumber = {1}.",
IsSubscribedToAll ? "<all>" : StreamId, _nextReadEventNumber);
}
示例3: FromStream
static void FromStream(IEventStoreConnection con, UserCredentials userCredentials)
{
var ad = new MyBudget.Infrastructure.EventStoreAdapter(address, userCredentials);
// var sub = con.SubscribeToStreamFrom("$category-Users", null, true, Appeared, Live, Dropped, userCredentials);
// sub.Start();
var read = con.ReadStreamEventsForward("lines_of_", 0, 1000, true, userCredentials);
foreach (var e in read.Events)
{
var t = ad.TryGetDomainEvent(e);
}
var mre = new ManualResetEvent(false);
mre.WaitOne(3000);
var rgpsa = events.GroupBy(g => g.Event.EventId).ToList();
int i = 0;
var rgps = events.Select(s => new { s, position = i++ }).GroupBy(g => g.s.Event.EventId).ToList();
//var rgps2 = read.Events.Select(s => new { s, position = i++ }).GroupBy(g => g.s.Event.EventId).ToList();
foreach (var r in rgps)
{
var values = r.ToArray();
foreach (var v in values)
{
var t = ad.TryGetDomainEvent(v.s);
}
}
Console.ReadLine();
}