学院首页>网络编程>C#.NET>用C#开发Windows服务监控系统使用

用C#开发Windows服务监控系统使用

作者:朱先忠编译 来源:天极 添加时间:2006-6-21 2:51:37

  四、用C#创建一个Web应用程序

  在这一部分中,我们用C#创建一个web应用程序,并命名为SystemMonitor。

  加入下面命名空间:

using System.IO;
using System.Xml;
using System.Text;

  之后,把DataGrid和Label控件拖动到页面上,如下图所示:

  把下列代码复制到Page_Load事件中:

File.Copy("c:\\file1.xml","c:\\temp1.xml",true);
StreamWriter writer1=File.AppendText("c:\\temp1.xml");
writer1.Write("<shutdown>undefined</shutdown>");
writer1.Write("<timespent>undefined</timespent>");
writer1.Write("</time>");
writer1.WriteLine("</times>");
writer1.Close();
DataSet ds=new DataSet();
ds.ReadXml("c:\\temp1.xml");
TimeSpan t=new TimeSpan();
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
XmlTextReader reader=new XmlTextReader("c:\\temp1.xml");
while(reader.Read())
{
 if(reader.NodeType==XmlNodeType.Element)
 {
  if(reader.Name=="timespent")
  {
   string temp11=reader.ReadInnerXml().ToString();
   if(temp11!="undefined")
   {
    temp11=temp11.Replace(":",".");
    temp11=temp11.Replace(" ","");
    duration +=Convert.ToDouble(temp11);
   }
  }
 }
}
Response.Write("Total Duration is : ");
double temp122=Convert.ToDouble(duration);
string hr=temp122.ToString();
string hrstr=hr.Substring(0,hr.IndexOf("."));
Response.Write(hrstr.ToString()+" Hours");
string mins=hr.Substring(hr.IndexOf(".")+1,(hr.Length -hr.IndexOf(".")-1));
Response.Write(" "+mins.ToString()+" Minutes");
reader.Close();
File.Delete("c:\\temp1.xml");

  最后把下面的声明粘贴到Page_Load事件上部:

private double duration;

  我解释一下程序在Page_Load事件中做了什么。

  首先,我把文件file1.xml(它包含系统定时信息)的内容复制到临时文件中。然后,我把一些标记添加到该临时文件中。之后,我把temp的内容读取到一个dataset中,最后把它绑定到一个DataGrid中。以后,我创建逻辑来查找所有花费的时间。

  我非常希望每个人都能理解上面的代码。

  上面页面的输出结果大致如下图所示:

第 3 页,共 3 页 [1] [2] [3]
上一篇:像Asp一样轻松分页显示数据(C#)
下一篇:没有下篇文章
站内搜索