public async Task ReadStateAsync(string grainType, GrainReference grainReference, IGrainState grainState) { IList <Tuple <string, string> > keys = MakeKeys(grainType, grainReference).ToList(); string id = MakeStoreKey(keys); IRedisStorageGrain storageGrain = GetStorageGrain(id); var state = await storageGrain.ReadStateAsync("redis", id); if (state != null) { grainState.ETag = state.ETag; grainState.State = state.State; } }
public async Task WriteStateAsync(string grainType, GrainReference grainReference, IGrainState grainState) { IList <Tuple <string, string> > keys = MakeKeys(grainType, grainReference).ToList(); string key = MakeStoreKey(keys); IRedisStorageGrain storageGrain = GetStorageGrain(key); try { grainState.ETag = await storageGrain.WriteStateAsync("redis", key, grainState); } catch (Exception) { throw; } }