private static void DirectAccess() { var repoPages = new PagesRepository(); //var pages = repoPages.GetAllProdMonitor(); var pages = repoPages.GetAllStgMonitor(); var repoPageStatus = new PageStatusRepository(); var pageGetter = new PageGetter(); var counter = 1000; while (counter > 0) { foreach (var page in pages) { Console.WriteLine($"Page: {page.Url}"); var pageStats = new PageStats { Url = page.Url }; var result = pageGetter.HTTP_GET(pageStats); var stats = result.Result; var pageStatus = new PageStatus { Url = stats.Url, ResponseTime = stats.ResponseTime, ContentLength = stats.ContentLength, ExceptionMessage = stats.ExceptionMessage, Status = stats.Status.ToString(), Created = DateTime.Now }; repoPageStatus.Add(pageStatus); repoPageStatus.SaveChanges(); Console.WriteLine($"seconds: {stats.ResponseTime} length: {stats.ContentLength} time: {DateTime.Now}"); Console.WriteLine(); } Thread.Sleep(10000); counter--; } }
public async Task <PageStats> HTTP_GET(PageStats pageStats) { try { var credential = new NetworkCredential("SPTester1", "Password1", "NTSERVERS"); var myCache = new CredentialCache { { new Uri(pageStats.Url), "NTLM", credential } }; var handler = new HttpClientHandler { AllowAutoRedirect = true, Credentials = myCache }; var client = new HttpClient(handler); var stopWatch = new Stopwatch(); stopWatch.Start(); var responseMessage = await client.GetAsync(pageStats.Url); var message = await responseMessage.Content.ReadAsStringAsync(); stopWatch.Stop(); var elapsed = stopWatch.Elapsed; pageStats.ResponseTime = Convert.ToDouble($"{elapsed.Seconds}.{elapsed.Milliseconds}"); pageStats.Status = responseMessage.StatusCode; pageStats.ContentLength = message.Length; return(pageStats); } catch (Exception ex) { pageStats.ContentLength = 0; pageStats.ResponseTime = 0; pageStats.Status = HttpStatusCode.ExpectationFailed; pageStats.ExceptionMessage = ex.Message; return(pageStats); } }
public async Task<PageStats> HTTP_GET(PageStats pageStats) { try { var credential = new NetworkCredential("SPTester1", "Password1", "NTSERVERS"); var myCache = new CredentialCache { { new Uri(pageStats.Url), "NTLM", credential } }; var handler = new HttpClientHandler { AllowAutoRedirect = true, Credentials = myCache }; var client = new HttpClient(handler); var stopWatch = new Stopwatch(); stopWatch.Start(); var responseMessage = await client.GetAsync(pageStats.Url); var message = await responseMessage.Content.ReadAsStringAsync(); stopWatch.Stop(); var elapsed = stopWatch.Elapsed; pageStats.ResponseTime = Convert.ToDouble($"{elapsed.Seconds}.{elapsed.Milliseconds}"); pageStats.Status = responseMessage.StatusCode; pageStats.ContentLength = message.Length; return pageStats; } catch (Exception ex) { pageStats.ContentLength = 0; pageStats.ResponseTime = 0; pageStats.Status = HttpStatusCode.ExpectationFailed; pageStats.ExceptionMessage = ex.Message; return pageStats; } }
private static async Task<IEnumerable<PageStatus>> HitPages() { var listPageStatus = new List<PageStatus>(); try { using (var repoPages = new PagesRepository()) { using (var repoPageStatus = new PageStatusRepository()) { //Get page with Monitor bit on. var pages = repoPages.GetAllMonitor(); //var pages = repoPages.GetAllProdMonitor(); //var pages = repoPages.GetAllStgMonitor(); var pageGetter = new PageGetter(); foreach (var page in pages) { var pageStats = new PageStats { Url = page.Url }; var stats = await pageGetter.HTTP_GET(pageStats); var pageStatus = new PageStatus { Url = stats.Url, ResponseTime = stats.ResponseTime, ContentLength = stats.ContentLength, ExceptionMessage = stats.ExceptionMessage, Status = stats.Status.ToString(), Created = DateTime.Now }; repoPageStatus.Add(pageStatus); repoPageStatus.SaveChanges(); listPageStatus.Add(pageStatus); } } } } catch (Exception ex) { // ReSharper disable once UnusedVariable var msg = ex.Message; } return listPageStatus; }
private static async Task<IEnumerable<AdHocPageStatu>> HitPage(string pageUrl, string user) { var listPageStatus = new List<AdHocPageStatu>(); try { using (var adHocPageStatusRepository = new AdHocPageStatusRepository()) { var pageGetter = new PageGetter(); var pageStats = new PageStats { Url = pageUrl }; var stats = await pageGetter.HTTP_GET(pageStats); var pageStatus = new AdHocPageStatu { Url = stats.Url, ResponseTime = stats.ResponseTime, ContentLength = stats.ContentLength, ExceptionMessage = stats.ExceptionMessage, Status = stats.Status.ToString(), Created = DateTime.Now, User = user }; adHocPageStatusRepository.Add(pageStatus); adHocPageStatusRepository.SaveChanges(); listPageStatus.Add(pageStatus); } } catch (Exception ex) { // ReSharper disable once UnusedVariable var msg = ex.Message; } return listPageStatus; }