系统环境相关方法 - SysInfoSlowXFunctions +
2017-02-26 16:02:31 访问(1979) 赞(0) 踩(0)
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using System.Web.UI.WebControls;
using System.Xml;
using SlowX.Functions.Common;
using System.Web;
namespace SlowX.Functions.Functions
{
/// <summary>
/// 系统环境相关方法 - SysInfoSlowXFunctions +
/// </summary>
public class SysInfoSlowXFunctions
{
#region Enum
/// <summary>
/// 系统环境
/// </summary>
public enum EmSysInfo
{
/// <summary>
/// 进程ID
/// </summary>
进程ID,
/// <summary>
/// 进程名
/// </summary>
进程名,
/// <summary>
/// 脚本超时时间
/// </summary>
脚本超时时间,
/// <summary>
/// 系统语言
/// </summary>
系统语言,
/// <summary>
/// 操作系统
/// </summary>
操作系统,
/// <summary>
/// asp.net运行库版本
/// </summary>
ASPNET运行库版本,
/// <summary>
/// IE版本
/// </summary>
IE版本,
/// <summary>
/// 已启动时间
/// </summary>
已启动时间,
/// <summary>
/// CPU数量
/// </summary>
CPU数量,
/// <summary>
/// CPU类型
/// </summary>
CPU类型,
/// <summary>
/// ASP.NET所占内存
/// </summary>
ASPNET所占内存
}
#endregion Enum
/// <summary>
/// 数组
/// </summary>
public readonly static EmSysInfo[] EmArray = new EmSysInfo[]
{
EmSysInfo.进程ID,
EmSysInfo.进程名,
EmSysInfo.脚本超时时间,
EmSysInfo.系统语言,
EmSysInfo.操作系统,
EmSysInfo.ASPNET运行库版本,
EmSysInfo.IE版本,
EmSysInfo.已启动时间,
EmSysInfo.CPU数量,
EmSysInfo.CPU类型,
EmSysInfo.ASPNET所占内存
};
/// <summary>
/// 获得方法名
/// </summary>
/// <param name="em"></param>
/// <returns></returns>
public static string GetMethodName(EmSysInfo em)
{
switch (em)
{
case EmSysInfo.进程ID:
return "CurrentProcessId";
case EmSysInfo.进程名:
return "CurrentProcessName";
case EmSysInfo.脚本超时时间:
return "ServerScriptTimeout";
case EmSysInfo.系统语言:
return "SystemLanguage";
case EmSysInfo.操作系统:
return "EnvironmentOSVersion";
case EmSysInfo.ASPNET运行库版本:
return "AspNetEnvironmentVersion";
case EmSysInfo.IE版本:
return "IEVersion";
case EmSysInfo.已启动时间:
return "EnvironmentTickCount";
case EmSysInfo.CPU数量:
return "NumberOfProcessors";
case EmSysInfo.CPU类型:
return "ProcessorIdentifier";
case EmSysInfo.ASPNET所占内存:
return "AspNetWorkingSet64";
default:
throw new Exception(em.ToString() + "未实现。");
}
}
/// <summary>
/// 获得系统信息
/// </summary>
/// <param name="em"></param>
/// <returns></returns>
public static string GetInfo(EmSysInfo em)
{
switch (em)
{
case EmSysInfo.进程ID:
return CurrentProcessId();
case EmSysInfo.进程名:
return CurrentProcessName();
case EmSysInfo.脚本超时时间:
return ServerScriptTimeout();
case EmSysInfo.系统语言:
return SystemLanguage();
case EmSysInfo.操作系统:
return EnvironmentOSVersion();
case EmSysInfo.ASPNET运行库版本:
return AspNetEnvironmentVersion();
case EmSysInfo.IE版本:
return IEVersion();
case EmSysInfo.已启动时间:
return EnvironmentTickCount();
case EmSysInfo.CPU数量:
return NumberOfProcessors();
case EmSysInfo.CPU类型:
return ProcessorIdentifier();
case EmSysInfo.ASPNET所占内存:
return AspNetWorkingSet64();
default:
throw new Exception(em.ToString() + "未实现。");
}
}
/// <summary>
/// 获得进程ID
/// </summary>
/// <returns></returns>
public static string CurrentProcessId()
{
// 获得进程相关的信息 //
System.Diagnostics.Process currentProcess
=
System.Diagnostics.Process.GetCurrentProcess();
return currentProcess.Id.ToString();
}
/// <summary>
/// 获得进程名
/// </summary>
/// <returns></returns>
public static string CurrentProcessName()
{
// 获得进程相关的信息 //
System.Diagnostics.Process currentProcess
=
System.Diagnostics.Process.GetCurrentProcess();
return currentProcess.ProcessName;
}
/// <summary>
/// 脚本超时时间
/// </summary>
/// <returns></returns>
public static string ServerScriptTimeout()
{
return ((HttpContext.Current.Server.ScriptTimeout / 1000) / 1000).ToString() + " 分钟";
}
/// <summary>
/// 系统语言
/// </summary>
/// <returns></returns>
public static string SystemLanguage()
{
return System.Globalization.CultureInfo.InstalledUICulture.EnglishName;
}
/// <summary>
/// 操作系统
/// </summary>
/// <returns></returns>
public static string EnvironmentOSVersion()
{
return Environment.OSVersion.ToString();
}
/// <summary>
/// asp.net运行库版本
/// </summary>
/// <returns></returns>
public static string AspNetEnvironmentVersion()
{
return string.Concat(new object[] { Environment.Version.Major, ".", Environment.Version.Minor, Environment.Version.Build, ".", Environment.Version.Revision });
}
/// <summary>
/// IE版本
/// </summary>
/// <returns></returns>
public static string IEVersion()
{
Microsoft.Win32.RegistryKey key
=
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Version Vector");
return key.GetValue("IE", "未检测到").ToString();
}
/// <summary>
/// 已启动时间
/// </summary>
/// <returns></returns>
public static string EnvironmentTickCount()
{
return ((Environment.TickCount / 0x3e8) / 60).ToString() + "分钟";
}
/// <summary>
/// CPU数量
/// </summary>
/// <returns></returns>
public static string NumberOfProcessors()
{
return Environment.GetEnvironmentVariable("NUMBER_OF_PROCESSORS").ToString() + "个";
}
/// <summary>
/// CPU类型
/// </summary>
/// <returns></returns>
public static string ProcessorIdentifier()
{
return Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER").ToString();
}
/// <summary>
/// ASP.NET所占内存
/// </summary>
/// <returns></returns>
public static string AspNetWorkingSet64()
{
return ((Double)System.Diagnostics.Process.GetCurrentProcess().WorkingSet64 / 1048576).ToString("N2") + "M";
}
/// <summary>
/// 是否是网站程序
/// </summary>
/// <returns></returns>
public static bool IsWebSite()
{
System.Diagnostics.Process process
=
System.Diagnostics.Process.GetCurrentProcess();
string processName = process.ProcessName;
processName = processName.Trim().ToLower();
if (processName == "")
return false;
switch (processName)
{
case "webdev.webserver":
case "w3wp":
return true;
default:
return false;
}
}
}
}
标签:
系统环境相关方法 - SysInfoSlowXFunctions + 


上一条:
下一条:
相关评论
发表评论