async Task UpdateKBAsync(string kb, KBAddJson new_kb) { var response = await PostUpdateKB(kb, new_kb); var operation = response.headers.GetValues("Location").First(); var done = false; while (true != done) { response = await GetStatus(operation); String state = response.response.operationState; if (state.CompareTo("Running") == 0 || state.CompareTo("NotStarted") == 0) { //var wait = response.headers.GetValues("Retry-After").First(); //Console.WriteLine("Waiting " + wait + " seconds..."); Thread.Sleep(1000); } else { Console.WriteLine("Press any key to continue."); done = true; } } //PUBLISH await publishRequestAsync(); // END }
async Task <Response> Patch(Uri uri, KBAddJson new_kb) { using (var client = new HttpClient()) using (var request = new HttpRequestMessage()) { request.Method = new HttpMethod("PATCH"); request.RequestUri = uri; //request.Content = new StringContent(body, Encoding.UTF8, "application/json"); request.Content = new StringContent(new JavaScriptSerializer().Serialize(new_kb), Encoding.UTF8, "application/json"); request.Headers.Add("Ocp-Apim-Subscription-Key", key); var response = await client.SendAsync(request); var responseBody = await response.Content.ReadAsStringAsync(); return(new Response(response.Headers, null)); } }
async Task <Response> PostUpdateKB(string kb, KBAddJson new_kb) { return(await Patch(uri, new_kb)); }
public async Task UpdateAsync(string question, string answer) { KBAddJson new_kb = new KBAddJson(question, answer); await UpdateKBAsync(kb, new_kb); }