public async Task WriteStateAsync() { try { if (_isDestroyed) { await ClearStateAsync(); } else { await Tell(BeforeWriteState.Default); var state = new DependencyObjectState { GrainKeyString = GrainReference.ToKeyString(), ValueStorage = _valueStorage }; await SerializeStateAsync(state); ValueStorage.IsDirty = false; } } catch (Exception ex) { Logger.LogError(ex, ex.Message); } }
protected override async Task SerializeStateAsync(DependencyObjectState state) { if (CanPersist()) { var coll = GetStateCollection(); var key = GrainReference.ToKeyString(); await coll.ReplaceOneAsync(o => o.GrainKeyString == key, state, new ReplaceOptions { IsUpsert = true }); } }
public override Element Build(Context context, DependencyObjectState <TSubclass, TWpf> state) => new WpfNative <TWpf>(element => Update(element, state));
protected virtual Task SerializeStateAsync(DependencyObjectState state) { return(Task.CompletedTask); }