Process[] MyProcesses=Process.GetProcesses()
foreach(Process MyProcess in MyProcesses) //遍历方法
{
//这里通常加载的是MyProcess.PrivateMemorySize和MyProcess.ProcessName等属性
}
1 将上面的动作做成一个WEB方法,或者PAGE METHOD,如果你用过ASP.NET AJAX,就用SCRIPTMANAGER引入WEBSERVICE,然后再JS的定时函数里面调用声明的方法。
2 如果你对ASP.NET AJAX调用WEBSERVICE不熟悉,将以上动作放到PAGE_LOAD里,然后在要呈现的控件外部套一个UPDATEPANEL,再放一个TIMER定时刷新。两种方案都可以。
这个前提是查看服务器的进程(好像是废话),服务器的进程信息能随便给别人看吗?
1、在远程server里搭建一个http服务,并支持某种服务端语言(如.net或php之类)2、用服务端语言获取到服务器的磁盘信息,把结果输出
3、在本地用JS写一段AJAX脚本,远程请求服务端写好的程序,得到结果,并展示给用户
<html>
<head>
<title>提取硬盘序列号</title>
<script>
function disk() {//硬盘序列号 信息
var locator = new ActiveXObject ("WbemScripting.SWbemLocator")
var service = locator.ConnectServer(".")
var properties = service.ExecQuery("SELECT * FROM Win32_DiskDrive")
var e = new Enumerator (properties)
document.write("<table border=1>")
for (!e.atEnd()e.moveNext ())
{
var p = e.item ()
document.write("<tr>")
document.write("<td>" + p.signature + "</td>")
document.write("</tr>")
}
document.write("</table>")
}
</script>
</head>
<body>
<input type="button" value="硬盘序列号" onclick="disk()">
</body>
</html>
在这上找的代码:
对于写过ASP或.net 的人来说,通过asp或.net 语言来获得客户端的硬件信息是很熟悉的.但如何通过javascript这种客户端脚本来获得客户端的信息呢?请看以下实例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>javascript获得客户端硬件信息-www.web2bar.cn/</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET
7.1">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
<script id=clientEventHandlersJS language=javascript>
<!--
function Button2_onclick() {//CPU 信息
var locator = new ActiveXObject ("WbemScripting.SWbemLocator")
var service = locator.ConnectServer(".")
var properties = service.ExecQuery("SELECT * FROM Win32_Processor")
var e = new Enumerator (properties)
document.write("<table border=1>")
for (!e.atEnd()e.moveNext ())
{
var p = e.item ()
document.write("<tr>")
document.write("<td>" + p.Caption + "</td>")
document.write("<td>" + p.DeviceID + "</td>")
document.write("<td>" + p.Name + "</td>")
document.write("<td>" + p.CpuStatus + "</td>")
document.write("<td>" + p.Availability + "</td>")
document.write("<td>" + p.Level + "</td>")
document.write("<td>" + p.ProcessorID + "</td>")
document.write("<td>" + p.SystemName + "</td>")
document.write("<td>" + p.ProcessorType + "</td>")
document.write("</tr>")
}
document.write("</table>")
}
function Button1_onclick() {//软盘信息
var locator = new ActiveXObject ("WbemScripting.SWbemLocator")
var service = locator.ConnectServer(".")
var properties = service.ExecQuery("SELECT * FROM Win32_FloppyDrive")
var e = new Enumerator (properties)
document.write("<table border=1>")
for (!e.atEnd()e.moveNext ())
{
var p = e.item ()
document.write("<tr>")
document.write("<td>" + p.Description + "</td>")
document.write("<td>" + p.DeviceID + "</td>")
document.write("<td>" + p.Status + "</td>")
document.write("<td>" + p.Manufacuturer + "</td>")
document.write("</tr>")
}
document.write("</table>")
}
function Button1_onclick() {//CD-ROM 信息
var locator = new ActiveXObject ("WbemScripting.SWbemLocator")
var service = locator.ConnectServer(".")
var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive")
var e = new Enumerator (properties)
document.write("<table border=1>")
for (!e.atEnd()e.moveNext ())
{
var p = e.item ()
document.write("<tr>")
document.write("<td>" + p.Caption + "</td>")
document.write("<td>" + p.Description + "</td>")
document.write("<td>" + p.Drive + "</td>")
document.write("<td>" + p.Status + "</td>")
document.write("<td>" + p.MediaLoaded + "</td>")
document.write("</tr>")
}
document.write("</table>")
}
function Button1_onclick() {//键盘信息
var locator = new ActiveXObject ("WbemScripting.SWbemLocator")
var service = locator.ConnectServer(".")
var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard")
var e = new Enumerator (properties)
document.write("<table border=1>")
for (!e.atEnd()e.moveNext ())
{
var p = e.item ()
document.write("<tr>")
document.write("<td>" + p.Description + "</td>")
document.write("<td>" + p.Name + "</td>")
document.write("<td>" + p.Status + "</td>")
document.write("</tr>")
}
document.write("</table>")
}
function Button1_onclick() {//主板信息
var locator = new ActiveXObject ("WbemScripting.SWbemLocator")
var service = locator.ConnectServer(".")
var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard")
var e = new Enumerator (properties)
document.write("<table border=1>")
for (!e.atEnd()e.moveNext ())
{
var p = e.item ()
document.write("<tr>")
document.write("<td>" + p.HostingBoard + "</td>")
document.write("<td>" + p.Manufacturer + "</td>")
document.write("<td>" + p.PoweredOn + "</td>")
document.write("<td>" + p.Product + "</td>")
document.write("<td>" + p.SerialNumber + "</td>")
document.write("<td>" + p.Version + "</td>")
document.write("</tr>")
}
document.write("</table>")
}
//-->
</script>
</head>
<body>
<INPUT id="Button1" type="button" value="Button"
name="Button1" language=javascript onclick="return Button1_onclick()">
</body>
</html>
使用javascript方式获得客户端的信息主要的优点是,不需求服务器资源.不需求刷新网页.直接在客户端执行脚本获得显示.
在这上找到了硬盘序列号的参数:
\'获得硬盘序列号
Dim cmicWmi As New System.Management.ManagementObjectSearcher(\"SELECT * FROM Win32_DiskDrive\")
Dim Uint32 As UInt32
For Each cmicWmiObj As ManagementObject In cmicWmi.Get
Uint32 = cmicWmiObj(\"signature\")
Next
TextBox1.Text = Uint32.ToString
和在一块总算给提出来了,呵呵。
其实这个问题是应用服务器池(也就是iis里面你网站使用的那个)满了造成的,你会发现你回收一下就快了。我也遇到这个问题,其实服务器内存和cpu还有很多,可惜这个应用服务池默认的设置下只会使用很少的一部分内存,如果满了,对于aspx页面,就会很慢才会有反应。所以我的解决办法就是给它的最大使用内存数定了个300m,这样当满了以后,会自动回收,这样问题就解决了,aspx页面访问就很快了。
加一句,你本地访问是不会使用那个连接池的,所以不受影响,为什么不使用的具体原因我也没去弄清楚。而且连接池满的情况一般是在访问量很大下容易发生,一般人也碰不到这个问题。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)