private async void OnGetJsonSelectionFinished(GetJsonSelectionFinishedEventArgs args) { //fill the textbox with info DockpaneGJViewModel.UpdateText("Processing..."); //execute the geoprocessing tool for creating json Task <IGPResult> myTsk = QueuedTask.Run(() => { BasicFeatureLayer bfl = args.BasicFL; var flist = new List <object>() { bfl, }; Task <IGPResult> taskRes = Geoprocessing.ExecuteToolAsync("conversion.FeaturesToJSON", Geoprocessing.MakeValueArray(flist, null, "FORMATTED")); return(taskRes); }); IGPResult resultaat = await myTsk; if (!(resultaat.IsFailed || resultaat.IsCanceled)) { ////filename string filename = myTsk.Result.ReturnValue; //read the file string contents = File.ReadAllText(@filename); //fill the textbox DockpaneGJViewModel.UpdateText(contents); //delete the file File.Delete(filename); } else { DockpaneGJViewModel.UpdateText("Sorry, but features can't be converted to JSON. " + Environment.NewLine + "Response: " + resultaat.ReturnValue); } }