Пример #1
0
        private static ResponseStatus GetResponseStatus(this AggregationResponseItem item)
        {
            var settingsSuccessCodes = ServiceManager.Appsettings.GetSection("HttpSuccessCodes")
                                       .AsEnumerable()
                                       .Where(x => x.Value != null)
                                       .Select(x => x.Value);

            if (settingsSuccessCodes != null)
            {
                _successCodes = settingsSuccessCodes.Cast <string>().ToList();
            }

            string responseCode = item.HttpResponseCode.ToString();
            bool   isSuccess    = false;

            foreach (string successCode in _successCodes)
            {
                int codeLength = successCode.Length;
                isSuccess = codeLength > 3 ? responseCode == successCode
                                           : responseCode.StartsWith(successCode);
                if (isSuccess)
                {
                    break;
                }
            }
            return(isSuccess ? ResponseStatus.Success : ResponseStatus.Failed);
        }
        public static List <AggregationResponseItem> Generate(int count)
        {
            List <AggregationResponseItem> responseItems = new List <AggregationResponseItem>();

            for (int i = 0; i < count; i++)
            {
                AggregationResponseItem responseItem = Generate();
                responseItems.Add(responseItem);
            }
            return(responseItems);
        }
        public static AggregationResponseItem Generate()
        {
            AggregationResponseItem responseItem = new AggregationResponseItem
            {
                AverageResponseTime = RandomNumberGenerator.GetRandomDouble(),
                DocumentCount       = RandomNumberGenerator.GetRandomInt(),
                HttpResponseCode    = RandomNumberGenerator.GetRandomInt(100, 599),
                MaxResponseTime     = RandomNumberGenerator.GetRandomDouble(1, 5)
            };

            return(responseItem);
        }