コード例 #1
0
        /// <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;
        }