public string Run() { var result = _retryPolicy.Execute(() => { using (var client = new HttpClientGateway().Client(_currentServer.Uri, _currentServer.Timeout)) { return PostOrder(client); } }); return result; }
public string Run() { var client = new HttpClientGateway().Client(); try { client.BaseAddress = _baseAddres; var order = new AddOrderModel() { CustomerName = "Winnie the Pooh", Description = "Pot of Honey", DueDate = DateTime.UtcNow.ToString("o") }; string orderBody; XmlRequestBuilder.TryBuild(order, out orderBody); var requestMessage = CreateRequest("orders", new StringContent(orderBody)); var response = client.SendAsync(requestMessage).Result; response.EnsureSuccessStatusCode(); return response.Content.ReadAsStringAsync().Result; } catch (AggregateException ae) { foreach (var e in ae.Flatten().InnerExceptions) { Console.Write(e.Message); if (e.InnerException != null) Console.WriteLine(" : " + e.InnerException); else Console.WriteLine(); } } catch (Exception he) { Console.WriteLine("Exception talking to server: {0}", he); } finally { client.Dispose(); } return null; }