예제 #1
0
        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);
        }
예제 #2
0
        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--;
            }
        }
예제 #3
0
		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;
		}
예제 #4
0
		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--;
			}
		}