/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void TalkToGraphEngineClientBtn_Click(object sender, RoutedEventArgs e) { var uiSyncContext = TaskScheduler.FromCurrentSynchronizationContext(); List <Triple> triples = new List <Triple> { new Triple { Subject = "WPF-GraphEngineClient", Predicate = "isA", Object = "Success" } }; Task taskResult; using var graphEngineRPCTask = Task.Factory.StartNew(async() => { using var message = new TripleStreamWriter(triples); var rsp = await TrinityTripleModuleClient .PostTriplesToServer(message); var token = Task.Factory.CancellationToken; await Task.Factory.StartNew( () => { this.ResponseTextBlock.Items.Add( $"GE Server Response: {rsp.errno}"); }, token, TaskCreationOptions.None, uiSyncContext); }) .ContinueWith(_ => { ResponseTextBlock.Items.Add("Task graphEngineRPCTask Complete..."); }, uiSyncContext); { taskResult = graphEngineRPCTask; } await taskResult; }