У меня есть служба Service Fabric с отслеживанием состояния, и я создаю, обновляю или считываю данные, используя IReliableDictionary
, созданный с помощью следующего кода:
var dictionary = await StateManager.GetOrAddAsync<IReliableDictionary<string, Entry>>(ReliableDictionaryName);
// Read
using (ITransaction tx = StateManager.CreateTransaction())
{
ConditionalValue<Entry> result = await dictionary.TryGetValueAsync(tx, name);
return result.HasValue ? result.Value : null;
}
// Create or update
using (ITransaction tx = StateManager.CreateTransaction())
{
await dictionary.AddOrUpdateAsync(tx, entry.Name, entry, (key, prev) => entry);
await tx.CommitAsync();
}
Он работает, но чувствителен к регистру. Есть ли способ сделать надежное хранилище коллекций и получать данные без учета регистра, за исключением применения .ToLower()
к ключам, что является своего рода хакерством?