Ejemplo n.º 1
0
        static async Task GetTimeout(string uri)
        {
            try
            {
                using (var httpClientHandler = new HttpClientHandler())
                {
                    httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); };
                    using (var client = new HttpClient(httpClientHandler))
                    {
                        client.BaseAddress = new Uri(uri);
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        var uriMethod   = uri + "gettimeout/";
                        var responseLog = new ServerResponseLogDto();
                        responseLog.Starttime = DateTime.UtcNow;
                        HttpResponseMessage response = await client.GetAsync(uriMethod);

                        responseLog.Endtime    = DateTime.UtcNow;
                        responseLog.HttpStatus = (int)response.StatusCode;
                        var responseText = await response.Content.ReadAsStringAsync();

                        if (response.IsSuccessStatusCode)
                        {
                            //change to datetime local
                            Console.WriteLine($"The WebAPI server date is: {responseText}");
                            responseLog.ResponseText = responseText;
                            responseLog.ErrorCode    = 1;
                        }
                        else if (response.StatusCode == HttpStatusCode.InternalServerError)
                        {
                            if (responseText.Contains("System.TimeoutException"))
                            {
                                responseLog.ResponseText = "System.TimeoutException";
                                responseLog.ErrorCode    = -999;
                            }
                            else
                            {
                                responseLog.ResponseText = "Internal Service Error";
                                responseLog.ErrorCode    = 2;
                            }

                            Console.WriteLine("Internal Service Error.");
                        }
                        else
                        {
                            responseLog.ResponseText = "Bad Request";
                            responseLog.ErrorCode    = 2;
                        }

                        await AddLogRecord(responseLog);
                    }
                }
            }
            catch
            {
                Console.WriteLine("Make sure to start the WebAPI");
            }
        }
Ejemplo n.º 2
0
        static async Task AddLogRecord(ServerResponseLogDto logDto)
        {
            try
            {
                using (var httpClientHandler = new HttpClientHandler())
                {
                    httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); };
                    using (var client = new HttpClient(httpClientHandler))
                    {
                        var uri = "https://localhost:5001/api/values/";
                        client.BaseAddress = new Uri(uri);
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                        var         json        = JsonConvert.SerializeObject(logDto);
                        HttpContent contentPost = new StringContent(json, Encoding.UTF8, "application/json");

                        HttpResponseMessage response = await client.PostAsync(uri, contentPost);

                        //HttpResponseMessage response = await client.PostAsync(uri, contentPost);
                        if (response.IsSuccessStatusCode)
                        {
                            var responseContent = await response.Content.ReadAsStringAsync();

                            //change to datetime local
                            Console.WriteLine("Response log added");
                        }
                        else if (response.StatusCode == HttpStatusCode.InternalServerError)
                        {
                            Console.WriteLine("Response log failed: Internal Service Error.");
                        }
                        else
                        {
                            Console.WriteLine("Response log failed: Bad Request.");
                        }
                    }
                }
            }
            catch
            {
                Console.WriteLine("Make sure to start the WebAPI");
            }
        }