/// <summary> /// Sends the given History object to the cloud. /// </summary> /// <param name="history">History object to send.</param> public async Task <ResponseMessage> SendHistory(History history) { try { Logger.Trace("SendHistory"); System.Net.Http.HttpClient apiConnection = new System.Net.Http.HttpClient(); apiConnection.DefaultRequestHeaders.Add(Constants.XApiKey, Configuration.ApiKey); apiConnection.DefaultRequestHeaders.Add(Constants.Xiid, SdkData.DeviceId); apiConnection.DefaultRequestHeaders.Add(Constants.AdvertisementIdentifierHeader, string.IsNullOrEmpty(Configuration.UserId) ? Windows.System.UserProfile.AdvertisingManager.AdvertisingId : Configuration.UserId); apiConnection.DefaultRequestHeaders.TryAddWithoutValidation(Constants.XUserAgent, UserAgentBuilder.BuildUserAgentJson()); string serializeObject = JsonConvert.SerializeObject(history); var content = new StringContent(serializeObject, Encoding.UTF8, "application/json"); System.Net.Http.HttpResponseMessage responseMessage = await apiConnection.PostAsync(new Uri(Configuration.LayoutUri), content); Logger.Trace("SendHistory HttpCode: {0}", responseMessage.StatusCode); if (responseMessage.IsSuccessStatusCode) { LastCallResult = NetworkResult.Success; return(new ResponseMessage() { Content = responseMessage.Content.ToString(), Header = responseMessage.Headers.ToString(), StatusCode = Convert(responseMessage.StatusCode), IsSuccess = responseMessage.IsSuccessStatusCode }); } LastCallResult = NetworkResult.UnknownError; return(new ResponseMessage() { StatusCode = Convert(responseMessage.StatusCode), IsSuccess = responseMessage.IsSuccessStatusCode }); } catch (Exception ex) { Logger.Error("SendHistory Error", ex); LastCallResult = NetworkResult.NetworkError; return(new ResponseMessage() { IsSuccess = false }); } }
private async void ButtonSystemNetHttp_OnClick(object sender, RoutedEventArgs e) { var httpClientHandler = new System.Net.Http.HttpClientHandler(); CookieCollection cookieCollection = httpClientHandler.CookieContainer.GetCookies(_uri); var cookies = new Cookie[cookieCollection.Count]; cookieCollection.CopyTo(cookies, 0); using (var httpClient = new System.Net.Http.HttpClient()) { var requestMessage = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, _uri); Request.Text = new StringBuilder().AppendLine(requestMessage.ToString()) .AppendLine(requestMessage.Headers.ToString()) .AppendLine(string.Join("\n", cookies.ToList())).ToString(); System.Net.Http.HttpResponseMessage responseMessage = await httpClient.SendAsync(requestMessage); Request1.Text = new StringBuilder().AppendLine(responseMessage.RequestMessage.ToString()) .AppendLine(string.Join(" - ", cookies.ToList())).ToString(); Response.Text = responseMessage.ToString(); } }