Exemple #1
0
        public static FAQServiceResult DetectServiceStatus(List <string> urls)
        {
            if (urls == null || urls.Count == 0)
            {
                throw new ArgumentException("urls");
            }
            FAQServiceResult result = new FAQServiceResult();

            result.Detail = new List <FAQServiceModel>();
            Stopwatch watch = new Stopwatch();

            foreach (var url in urls)
            {
                watch.Start();
                var faqModel = new FAQServiceModel();
                try
                {
                    WebRequest request = HttpWebRequest.Create(url);
                    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    {
                        watch.Stop();
                        if (response.StatusCode == HttpStatusCode.OK)
                        {
                            faqModel.IsSuccessful = true;
                        }
                        else
                        {
                            faqModel.IsSuccessful = false;
                        }
                        faqModel.StatusCode       = response.StatusCode.ToString();
                        faqModel.StatusDescrption = response.StatusDescription;
                    }
                }
                catch (Exception ex)
                {
                    watch.Stop();
                    faqModel.IsSuccessful     = false;
                    faqModel.ExceptionMessage = ex.Message;
                }
                finally
                {
                    faqModel.URL          = url;
                    faqModel.ResponseTime = watch.ElapsedMilliseconds;
                    result.Detail.Add(faqModel);
                    if (watch != null)
                    {
                        watch.Reset();
                    }
                }
            }
            result.Flag = (result.Detail.Where(p => p.IsSuccessful == true).Count() == urls.Count) ? true : false;
            return(result);
        }
Exemple #2
0
 public void Remove(FAQServiceModel faqService)
 {
     base.BaseRemove(GetElementKey(faqService));
 }
Exemple #3
0
 public void Add(FAQServiceModel faqService)
 {
     base.BaseAdd(faqService);
 }