コード例 #1
0
        public void AddPerfDataItemTest()
        {
            var perfDataItem = new PerfDataItem { CpuLoad = GetCpuUsage(), RamLoad = GetRamUsage(), ServerName = Environment.MachineName };

            var addPerfDataItemController = new AddPerfDataItemController();
            var result = addPerfDataItemController.Post(perfDataItem) as OkNegotiatedContentResult<PerfDataItem>;

            Assert.IsNotNull(result);
            Assert.AreEqual(perfDataItem, result.Content);
        }
コード例 #2
0
        public IHttpActionResult Post(PerfDataItem item)
        {
            string errMsg;
            if (!ValidateData(out errMsg, item))
            {
                return BadRequest(errMsg);
            }

            CacheManager.AddPerfDataItem(item);
            return Ok(item);
        }
コード例 #3
0
        private bool ValidateData(out string outputMessage, PerfDataItem item)
        {
            outputMessage = string.Empty;
            if (item == null)
            {
                outputMessage = "PerfDataItem is null. Please pass PerfDataItem";
                return false;
            }

            if (string.IsNullOrEmpty(item.ServerName))
            {
                outputMessage = "ServerName has not been passed. Please pass ServerName as a part of PerfDataItem.";
                return false;
            }

            return true;
        }
コード例 #4
0
ファイル: CacheManager.cs プロジェクト: hiriumi/ServerTrack
 public static void AddPerfDataItem(PerfDataItem item)
 {
     // Using ConcurrentBag makes it thread safe even if multiple threads access it.
     _perfDataItemList.Add(item);
 }