/// <summary> /// Get the website content from content API /// </summary> /// <param name="websiteURL"></param> /// <returns></returns> public WebsiteCountResult GetWebsiteContent(string websiteURL) { WebsiteCountResult websiteContentCountResult = new WebsiteCountResult(); websiteContentCountResult.WebsiteURL = websiteURL; var httpClientHandler = new HttpClientHandler(); using (var client = new HttpClient(httpClientHandler)) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; client.BaseAddress = new Uri("http://localhost:50220/"); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Add("User-Agent", "Anything"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.Timeout.Add(TimeSpan.FromSeconds(200)); string url = string.Concat("api/GetWebContent/GetWebsiteContent"); var text = "{ websiteURL : '" + websiteURL + "'}"; var content = new StringContent(JObject.Parse(text).ToString(), Encoding.UTF8, "application/json"); var portalResponse = client.PostAsync(url, content).Result; if (portalResponse.IsSuccessStatusCode) { return(portalResponse.Content.ReadAsAsync <WebsiteCountResult>().Result); } else { return(new WebsiteCountResult()); } } }
/// <summary> /// Gets the Website Content /// </summary> /// <returns>WebsiteCountResult</returns> public WebsiteCountResult GetWebsiteContent(string websiteUrl) { string key = Regex.Replace(websiteUrl, @"[^0-9a-zA-Z]+", ""); key = key.Trim(); if (HttpContext.Current?.Cache[key] == null) { WebsiteCountResult websiteCountResult = this.WebsiteContentReaderRepository.GetWebsiteContent(websiteUrl); if (websiteCountResult != null) { HttpContext.Current?.Cache.Insert(key, websiteCountResult, null, DateTime.Now.AddDays(1), Cache.NoSlidingExpiration); } return(websiteCountResult); } return(HttpContext.Current?.Cache[key] as WebsiteCountResult); }