您的位置:首页 > 编程语言 > ASP

ASP.NET 获取服务器信息

2010-01-21 21:33 295 查看
ASP.NET 获取服务器信息

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class AdminLogin_Default : System.Web.UI.Page
{
#region 必需的设计器变量
protected string MemberName, AdminLevel;
protected string ServerOS, CpuSum, CpuType, ServerSoft, MachineName, ServerName, ServerPath, ServerNet, ServerArea, ServerTimeOut, ServerStart;
protected string PrStart, AspNetN, AspNetCpu, ServerSessions, ServerApp, ServerCache, ServerAppN, ServerFso, RunTime;
#endregion

protected void Page_Load(object sender, EventArgs e)
{
DataLoad();
}

#region 获取服务器及用户信息
private void DataLoad()
{
DateTime sTime = DateTime.Now;

ServerOS = Environment.OSVersion.ToString();                                //操作系统:
CpuSum = Environment.GetEnvironmentVariable("NUMBER_OF_PROCESSORS");        //CPU个数:
CpuType = Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER");       //CPU类型:
ServerSoft = Request.ServerVariables["SERVER_SOFTWARE"];                    //信息服务软件:
MachineName = Server.MachineName;                                           //服务器名
ServerName = Request.ServerVariables["SERVER_NAME"];                        //服务器域名
ServerPath = Request.ServerVariables["APPL_PHYSICAL_PATH"];                 //虚拟服务绝对路径
ServerNet = ".NET CLR " + Environment.Version.ToString();                   //DotNET 版本
ServerArea = (DateTime.Now - DateTime.UtcNow).TotalHours > 0 ? "+" + (DateTime.Now - DateTime.UtcNow).TotalHours.ToString() : (DateTime.Now - DateTime.UtcNow).TotalHours.ToString();   //服务器时区
ServerTimeOut = Server.ScriptTimeout.ToString();                            //脚本超时时间
ServerStart = ((Double)System.Environment.TickCount / 3600000).ToString("N2"); //开机运行时长
PrStart = GetPrStart();                                                     //进程开始时间
AspNetN = GetAspNetN();                                                     //AspNet 内存占用
AspNetCpu = GetAspNetCpu();                                                 //AspNet CPU时间
ServerSessions = Session.Contents.Count.ToString();                         //Session总数
ServerApp = Application.Contents.Count.ToString();                          //Application总数
ServerCache = Cache.Count.ToString();                                       //应用程序缓存总数
ServerAppN = GetServerAppN();                                               //应用程序占用内存
ServerFso = Check("Scripting.FileSystemObject");                            //FSO 文本文件读写
ServerTimeOut = Server.ScriptTimeout.ToString() + "毫秒";                   //本页执行时间
if (ServerSoft == "")
{
ServerSoft = "无";
}

#region 页面初始化必需的内容
Header.Title = "沉紫龙" + " - 系统管理";
//HeaderTextInfo.Initialization();
//HeaderTextInfo.GetAdminHeader(this, null);
#endregion

#region WebControls Config
// ViewState Config
this.EnableViewState = false;
#endregion

//执行时间
DateTime eTime = DateTime.Now;
RunTime = ((eTime - sTime).TotalMilliseconds).ToString();
}
#endregion

#region 获取服务器系统信息
private string GetServerAppN()
{
string temp;
try
{
temp = ((Double)GC.GetTotalMemory(false) / 1048576).ToString("N2") + "M";
}
catch
{
temp = "未知";
}
return temp;
}

private string GetAspNetN()
{
string temp;
try
{
temp = ((Double)System.Diagnostics.Process.GetCurrentProcess().WorkingSet64 / 1048576).ToString("N2") + "M";
}
catch
{
temp = "未知";
}
return temp;
}

private string GetAspNetCpu()
{
string temp;
try
{
temp = ((TimeSpan)System.Diagnostics.Process.GetCurrentProcess().TotalProcessorTime).TotalSeconds.ToString("N0");
}
catch
{
temp = "未知";
}
return temp;
}

private string GetPrStart()
{
string temp;
try
{
temp = System.Diagnostics.Process.GetCurrentProcess().StartTime.ToString();
}
catch
{
temp = "未知";
}
return temp;
}

private string Check(string obj)
{
try
{
object claobj = Server.CreateObject(obj);
return "支持";
}
catch
{
return "不支持";
}
}
#endregion
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: