【发布时间】:2017-08-18 18:45:24
【问题描述】:
我有一个用例,我想在 Bot Framework 的 context.ConversationData 中存储一个 List<string, string>(通过 TableBotDataStore 类使用 Azure Table 存储作为后端)。但是,当我这样做时,在检索存储的列表时,键的大小写发生了变化。
例如,我存储一个这样的列表:
IDictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("MyKey", "N");
context.ConversationData.SetValue("MyDictionary", dict);
然后我尝试在稍后的对话框中检索此数据:
IDictionary<string, string> dict;
context.ConversationData.TryGetValue("MyDictionary", out dict)
var found = dict.ContainsKey("MyKey");
但是,在本例中,found 设置为 false,因为 dict 实际上包含反序列化后的键/值对 {"myKey", "N"}。我可以通过简单地预先将我的密钥小写来解决这个问题,但是有什么方法可以配置ConversationData 的序列化/反序列化以保留大小写?
【问题讨论】:
标签: c# serialization botframework