我尝试将数据保存到Microsoft Bot Frame Work(在.NET环境中)中的MemoryStorage中。
我正在使用这种方法来做
public static class StateManager
{
private static MemoryStorage _myStorage;
static StateManager()
{
_myStorage = new MemoryStorage();
}
public async static void Save(UserDetails userDetails)
{
var changes = new Dictionary<string, object>();
{
changes.Add("ud", userDetails);
}
await _myStorage.WriteAsync(changes, new CancellationToken());
}
}
直到现在,它始终可以正常运行。但是突然我收到这个错误:
System.Exception:Etag冲突。原始:4当前:5
知道如何解决此错误吗?谢谢!
编辑-具有解决方案
我发现问题是我连续两次将数据推送到内存中(两次推送之间没有获取数据)。这意味着在我一次推送数据之后,必须先从存储中获取数据,然后再再次推送数据。
我的问题现在是为什么?我无法两次保存数据,而两次拖拉之间没有得到数据?