【发布时间】:2017-07-17 09:43:48
【问题描述】:
我的一个用例需要存储来自单个事件生产者的“开始”和“停止”事件之间的所有事件。我们将使用可靠的参与者来处理这些数据并在收到“停止”事件后进行汇总。在开始和停止之间存储所有事件的直接方式是使用 List 类型。
// Init
var evts = new List<DataEvent>();
this.StateManager.TryAddStateAsync("events", evts);
// Fetch, add and save
var evts = this.StateManager.TryGetStateAsync<List<DataEvent>>("events");
evts.Add(newEvent);
this.StateManager.TrySaveStateAsync("events", evts);
据我了解,每次获取现有列表、添加新项目并存储新更新的列表时,StateManager 都会序列化/反序列化整个数组。我的理解正确吗?
什么是这个解决方案的好选择?
【问题讨论】:
标签: c# azure-service-fabric service-fabric-stateful service-fabric-actor