网站公告列表

  没有公告

加入收藏
设为首页
在线投稿

您现在的位置: IT知识网 >> IT知识 >> 维修维护 >> CPU维护维修知识 >> 文章正文

 

  Online CPU Console using a Web Control Library (2)           

Online CPU Console using a Web Control Library (2)
作者:佚名 文章来源:不详 点击数: 更新时间:2006-12-5 21:25:45
    Online CPU Console using a Web Control Library (2)
    Online CPU Console using a Web Control Library (2)    WROXControlLib
Step one is to set up a Web Control Library. Open Visual Studio .NET and choose a Web Control Library project. Add three new Custom Web Controls to the project named evenlog.cs, process.cs, and services.cs. Add System.ServiceProcess as a reference to the project by right-clicking References in the Solutions Explorer.
eventlog.cs
Events are accessed through the System.Diagnostics assembly. Use this assembly by making a reference at the top of your class.
Write to the event log by calling EventLog.WriteEntry(). The WriteEntry() method provides many parameters such as the type of event (info, error, etc.), the source of the event (our assembly), and the message of the event.
Read from the event log by calling EventLog().Entries to obtain the collection of events from the specified machine. This method may be called with parameters such as log type (application, system, security), and machine name.
The code below requests the collection of events and loops through them with a for statement. Notice how the collection is called with a machine and log type, that is set by the client application. The collection returns the earliest event first by default; the log must be turned around to view the newest event first. Reverse the order by iterating through the collection backwards. Print the content out to the client application using the HTMLTextWriter. HTMLTextWriter is the default parameter passed into a custom control. Let's take a look at the code for eventlog.cs:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Diagnostics;          //Add This Reference
public class eventlog : System.Web.UI.WebControls.WebControl
{
   private string logType      = "Application";
   private string machine      = "";
   //Machine is a Property that is Set by the Client
   public string Machine
   {
      get
      {
         return machine;
      }
      set
      {
         machine = value;
      }
   }
   protected override void Render(HtmlTextWriter doc)
   {      
      //Call the Collection of Events
      EventLogEntryCollection objEventCol = new EventLog(logType,machine).Entries;
      //Loop Through the Collection of Events
      for(int iCount=0; iCount++)
      {
         //Write to the Document
         doc.Write(objEventCol.EntryType.ToString() + " - ");
         doc.Write(objEventCol[i].Source + "
");
         doc.Write(objEventCol[i].Message + "
    ");
      }
   }
}
process.cs
Processes may be viewed and stopped using the System.Diagnostics assembly. After referencing the assembly at the top of the class file, call Process.GetProcesses() to retrieve the collection of running processes. Specify which machine these processes are viewed from by setting the machine name parameter.
Processes can be completely stopped by calling the Kill() method. A reference to each thread that a Process is running can also be obtained. Users can also be allowed to stop specific threads as an alternative to stopping the entire process, but this is an option to use with caution as the user may not be completely familiar with all the internal workings of that application.
The code below requests the collection of processes and loops through them with a foreach statement. Notice how the collection is called by a machine that is set by the client application. The contents are then printed out to the client application using the HTMLTextWriter. Let's take a look at the code for process.cs:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Diagnostics;          //Add This Reference
public class process : System.Web.UI.WebControls.WebControl
{
   private string machine      = "";
   private string stopProcess      = "";
   //Machine is a Property that is Set by the Client
   public string Machine
   {
      get
      {
         return machine;
      }
      set
      {
         machine = value;
      }
   }
   protected override void Render(HtmlTextWriter doc)
   {      
      //Loop Through the Collection of Processes
      foreach(Process objP in Process.GetProcesses(machine))
      {
         //Write to the Document
         doc.Write(objP.ProcessName + " - ");
         doc.Write(objP.Threads.Count.ToString() + " - ");
         doc.Write(objP.TotalProcessorTime.ToString() + "
");
      }
   }
}
Notice in the code that the Kill() method is called to completely stop a process while looping through the collection.
foreach(Process objP in Process.GetProcesses(machine))
{
   if(objP.ProcessName.Trim() == stopProcess.Trim())
   {
      //Stops the Process
      objP.Kill();
   }
}
service.cs
Services can be viewed, stopped, started, paused, and resumed using the System.ServiceProcess assembly. Reference the assembly at the top of the class file and call ServiceController.GetServices() to receive a collection of the services installed on any given machine.
Services may be started by calling the Start() method, and stopped by calling the Stop() method.
In the code below, we request the collection of services, and loop through them with a foreach statement. Notice how the collection is called with a machine that is set by the client application. We print the content out to the client application using the HTMLTextWriter. Let's take a look at the code for service.cs:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.ServiceProcess;      //Add This Reference
public class services : System.Web.UI.WebControls.WebControl
{
   private string machine      = "";
   private string stopService      = "";
   private string startService   = "";
   //Machine is a Property that is Set by the Client
   public string Machine
   {
      get
      {
         return machine;
      }
      set
      {
         machine = value;
      }
   }
   protected override void Render(HtmlTextWriter doc)
   {      
      //Loop Through the Collection of Services
      foreach(ServiceController objSP in ServiceController.GetServices(machine))
      {
      //Write to the Document
         doc.Write(objSP.DisplayName + " - ");
         doc.Write(objSP.Status.ToString() + " - ");
         doc.Write(objSP.ServiceType.ToString() + "
");
      }
   }
}
Note that the Stop() method is called to stop a service, and the Start() method is called to start a service while looping through the collection.
foreach(ServiceController objSP in ServiceController.GetServices(machine))
{
   if(objSP.DisplayName.Trim() == sto

[1] [2] 下一页

文章录入:bolang    责任编辑:bolang 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最 新 热 门
    相 关 文 章
    use a route-map to lim
    Authentication in RIPv
    回拨测试config
    CiscoAironet天线和附件
    2610 ROMMON下灌IOS
    604 经典命令之二(基于
    604 经典命令之一(基于
    Configuring Secure She
    Cisco路由器——Console
    Configuring Secure She
     
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright© ITZS.NET All Rights Reserved
    QQ:272895858   ICP备案编号:吉ICP备07000044号
    IT知识网 站长:博浪