最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用windows性能計(jì)數(shù)器進(jìn)行服務(wù)器性能監(jiān)控示例分享

 更新時(shí)間:2014年01月11日 11:19:23   作者:  
這篇文章主要介紹了利用windows性能計(jì)數(shù)器進(jìn)行服務(wù)器性能監(jiān)控的方法,大家可以參考擴(kuò)展其它功能

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Threading;
using System.Management;
using System.Runtime.InteropServices;
using System.Data;
using System.Data.SqlClient;
using System.DirectoryServices;
using System.Collections;
using System.Configuration;
using System.Collections.Specialized;
using System.IO;

namespace MON.Client
{
    public static class SysInfo
    {
        static Dictionary<string, PerformanceCounter> dic;
        static double DiskUsePercent;
        static double SysDiskUsePercent;
        static SysInfo()
        {
            try
            {
                dic = new Dictionary<string, PerformanceCounter>();
                foreach (string setting in ConfigurationManager.AppSettings)
                {
                    var arr = ConfigurationManager.AppSettings[setting].Split('#');
                    if (arr[arr.Length - 1] == "IsCounter")
                    {
                        try
                        {
                            var pc = new PerformanceCounter(arr[0], arr[1], arr[2]);
                            dic.Add(setting, pc);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(arr[0] + "找不到");
                            Log.WriteLog(ex.Message);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Log.WriteLog(ex.Message);
            }
        }
        static void initDiskInfo()
        {
            #region 備忘
            //只獲取系統(tǒng)盤代碼如下
            //ManagementObject CPANInfo = new ManagementObject(string.Format("win32_logicaldisk.deviceid=\"{0}\"", System.Environment.SystemDirectory.Substring(0, 2)));
            //CPANInfo.Get();
            //var s = Convert.ToDouble(CPANInfo["Size"]);
            //var l = Convert.ToDouble(CPANInfo["FreeSpace"]);
            //var d = (s - l) / s * 100;
            //return d;
            #endregion
            try
            {
                DriveInfo[] drives = DriveInfo.GetDrives();
                long totalSize = 0;
                long freeSize = 0;
                long CTotalSize = 0;
                long CFreeSize = 0;
                foreach (DriveInfo drive in drives)
                {
                    if (drive.DriveType == DriveType.CDRom)
                    {
                        continue;
                    }
                    totalSize += drive.TotalSize;
                    freeSize += drive.TotalFreeSpace;
                    if (drive.Name.StartsWith(System.Environment.SystemDirectory.Substring(0, 2)))
                    {
                        CTotalSize += drive.TotalSize;
                        CFreeSize += drive.TotalFreeSpace;
                    }
                }
                SysDiskUsePercent = (CTotalSize - CFreeSize) / (double)CTotalSize * 100;
                DiskUsePercent = (totalSize - freeSize) / (double)totalSize * 100;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Log.WriteLog(ex.Message);
            }
        }
        public static void Init()
        {
            //如有取數(shù)之前進(jìn)行的業(yè)務(wù)可放在這里,提高性能
            initDiskInfo();
        }
        public static double GetSysInfo(string InfoKey)
        {
            try
            {
                if (dic.ContainsKey(InfoKey))
                {
                    return dic[InfoKey].NextValue();
                }
                else
                {
                    if (InfoKey == "SysDiskUsePercent")
                    {
                        return SysDiskUsePercent;
                    }
                    else if (InfoKey == "DiskUsePercent")
                    {
                        return DiskUsePercent;
                    }
                    else
                    {
                        return -1;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Log.WriteLog(ex.Message);
                return -1;
            }
        }
    }
}

相關(guān)文章

  • c#之OpenFileDialog解讀(打開文件對話框)

    c#之OpenFileDialog解讀(打開文件對話框)

    這篇文章主要介紹了c#之OpenFileDialog(打開文件對話框),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • C#面向?qū)ο缶幊讨欣锸咸鎿Q原則的示例詳解

    C#面向?qū)ο缶幊讨欣锸咸鎿Q原則的示例詳解

    在面向?qū)ο缶幊讨?,SOLID?是五個(gè)設(shè)計(jì)原則的首字母縮寫,旨在使軟件設(shè)計(jì)更易于理解、靈活和可維護(hù)。本文將通過實(shí)例詳細(xì)講講C#面向?qū)ο缶幊讨欣锸咸鎿Q原則,需要的可以參考一下
    2022-07-07
  • 對指定的網(wǎng)頁進(jìn)行截圖的效果 C#版

    對指定的網(wǎng)頁進(jìn)行截圖的效果 C#版

    對指定的網(wǎng)頁進(jìn)行截圖的效果 C#版...
    2007-08-08
  • C#彩色圖片灰度化算法實(shí)例

    C#彩色圖片灰度化算法實(shí)例

    這篇文章主要介紹了C#彩色圖片灰度化算法,以實(shí)例形式對灰度化算法進(jìn)行了較為詳細(xì)的介紹,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C#語法相比其它語言比較獨(dú)特的地方(二)

    C#語法相比其它語言比較獨(dú)特的地方(二)

    這篇文章主要介紹了C#語法相比其它語言比較獨(dú)特的地方(二),本文講解了internal與protected、private、enum、string的==、傳引用等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • C#執(zhí)行外部命令的方法

    C#執(zhí)行外部命令的方法

    這篇文章主要介紹了C#執(zhí)行外部命令的方法,實(shí)例分析了C#調(diào)用CMD.exe程序執(zhí)行外部命令的技巧,需要的朋友可以參考下
    2015-06-06
  • C# WPF實(shí)現(xiàn)讀寫CAN數(shù)據(jù)

    C# WPF實(shí)現(xiàn)讀寫CAN數(shù)據(jù)

    這篇文章主要介紹了C# WPF實(shí)現(xiàn)讀寫CAN數(shù)據(jù),文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • C#組件FormDragger窗體拖拽器詳解

    C#組件FormDragger窗體拖拽器詳解

    這篇文章主要為大家詳細(xì)介紹了C#組件FormDragger窗體拖拽器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 分享我在工作中遇到的多線程下導(dǎo)致RCW無法釋放的問題

    分享我在工作中遇到的多線程下導(dǎo)致RCW無法釋放的問題

    最近在做項(xiàng)目中遇到一個(gè)問題,在調(diào)用一個(gè)類庫中的方法時(shí),出現(xiàn)如下異常信息:嘗試釋放正在使用的RCW,活動(dòng)線程或其他線程上正在使用該 RCW,釋放正在使用的 RCW 的嘗試會導(dǎo)致?lián)p壞或數(shù)據(jù)丟失
    2015-12-12
  • .Net常見問題之C#中的委托

    .Net常見問題之C#中的委托

    這篇文章主要介紹了.Net常見問題委托概念的介紹,委托類似于C++中的函數(shù)指針,但是又有所不同,下面就針對委托這個(gè)概念給大家詳細(xì)介紹下,需要的朋友可以參考下
    2015-07-07

最新評論

同江市| 达拉特旗| 垦利县| 丹阳市| 界首市| 广丰县| 铜陵市| 广丰县| 遵义市| 柯坪县| 丰顺县| 左权县| 灵川县| 枣强县| 沙雅县| 哈密市| 淄博市| 仲巴县| 五家渠市| 江源县| 浦城县| 金沙县| 黄浦区| 饶河县| 新源县| 彩票| 伊吾县| 裕民县| 鹤壁市| 城口县| 凉山| 陇南市| 曲松县| 平凉市| 富民县| 新建县| 罗江县| 安达市| 平武县| 汉源县| 石景山区|