.net CPU frequency acquisition memory disk size, virtual directory domain port, etc.

CPU个数: @Environment.GetEnvironmentVariable("NUMBER_OF_PROCESSORS")

CPU类型: @Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER")

CPU frequency: @ ViewBag.CPUGHZ

Server memory size: @ ViewBag.TotalMemory

Server disk size: @ ViewBag.TotalDisk

Virtual directory absolute path: @ Request.ServerVariables [ "APPL_PHYSICAL_PATH"]

Executable file absolute path: @ Request.ServerVariables [ "PATH_TRANSLATED"]

The total number of virtual directory Session: @ Session.Contents.Count

  /// <summary>
        /// 获取CPU频率
        /// </summary>
        /// <returns></returns>
        public string GetCpuGHZ()
        {
            ManagementClass mc = new ManagementClass("Win32_Processor");
            ManagementObjectCollection cpus = mc.GetInstances();

            string str = "";
            string[] mHz = new string[cpus.Count];
            int c = 0;
            ManagementObjectSearcher mySearch = new ManagementObjectSearcher("select * from Win32_Processor");
            foreach (ManagementObject mo in mySearch.Get())
            {
                double temp = Convert.ToInt64(mo.Properties["CurrentClockSpeed"].Value);
                mHz[c] = temp.ToString();
                str += (temp/1000).ToString("0.00") + "GHz,";
                c++;        
            }
            mc.Dispose();
            mySearch.Dispose();
            // return mHz;
            return str.TrimEnd(',');
        }


        /// <summary>
        /// 获取内存大小
        /// </summary>
        /// <returns></returns>
        public string GetTotalPhysicalMemory()
        {
            try
            {
                string st = " ";
                ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    st = mo["TotalPhysicalMemory"].ToString();
                }
                moc = null;
                mc = null;
                return st;
            }
            catch
            {
                return "0";
            }
            finally
            {
            }
        }

        /// <summary>
        /// 硬盘大小
        /// </summary>
        /// <returns></returns>
        public string GetSizeOfDisk()
        {
            ManagementClass mc = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection moj = mc.GetInstances();
            foreach (ManagementObject m in moj)
            {
                return m.Properties["Size"].Value.ToString();
            }
            return "0";
        }

 

Compare full access to server information:

https://www.cnblogs.com/tylerdonet/archive/2013/04/07/3006278.html

Request relatively wide usage:

https://www.cnblogs.com/mazhenyu/p/9468441.html

 

Guess you like

Origin www.cnblogs.com/fuqiang88/p/11593767.html