我的一个用例要求从单个事件产生器存储“开始”和“停止”事件之间的所有事件。我们将使用可靠的参与者来处理此数据,并在收到“停止”事件后进行汇总。在列表类型中,直接存储开始和停止之间的所有事件的简单方法。

// 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将序列化/反序列化整个数组。我的理解正确吗?

什么是该解决方案的好选择?

最佳答案

是的,您的理解是正确的。最好的方法是按原样对待状态管理器-键值存储,并用可以组合的键对不同的流进行分区。

09-20 14:33