文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Windows服务创建、安装、卸载、重启

Windows服务创建、安装、卸载、重启

时间:2011-01-17  来源:mxcjwl314

 

该服务主要实现的是:每隔1分钟在日志中写入一条记录,重启另外一个服务以及简单的安装、卸载过程。

 

1)需要创建一个Windows服务项目。

2)放一个Timer到界面上。它来自于System.Timers.Timer。

3)在界面上反键选择“添加安装程序”。设置serviceProcessInstaller1的Account属性为LocalSystem;设置serviceInstaller1的ServiceName属性为服务名称[如:Service1]、StartType属性为Automatic。

4)完成Timer的Elapsed事件。

 

App.Config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SpanTime" value="60000"/>
</appSettings>
</configuration>

 

Service1.cs

代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Configuration;
using System.IO;

namespace TestWService
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
int spanTime = Convert.ToInt32(ConfigurationManager.
AppSettings[
"SpanTime"]); //从配置文件中读取间隔时间
this.timer1.Interval = spanTime;
timer1.Start();
WriteTxt(
"这是构造函数");
}

protected override void OnStart(string[] args)
{
}

protected override void OnStop()
{
}

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
WriteTxt(DateTime.Now.ToLongTimeString()
+ " hello");

ResetProc();
}

/// <summary>
/// 向TXT中写入字符串
/// </summary>
/// <param name="strTxt">字符串</param>
public void WriteTxt(string strTxt)
{
string FILE_NAME = @"D:\writeTest.txt";
if (File.Exists(FILE_NAME))
{
try
{
StreamWriter sw
= File.AppendText(FILE_NAME);
sw.WriteLine(strTxt);
sw.Close();
}
catch (Exception)
{
throw;
}
}
else
{
try
{
StreamWriter s
= File.CreateText(FILE_NAME);
s.WriteLine(strTxt);
s.Close();
}
catch (Exception)
{
throw;
}
}
}

/// <summary>
/// 在Windows服务中重启另外一个服务
/// </summary>
public void ResetProc()
{
ServiceController[] scServices;
scServices
= ServiceController.GetServices();

try
{
foreach (ServiceController scTemp in scServices)
{
if (scTemp.ServiceName == "COMSysApp")
{
ServiceController sc
= new
ServiceController(
"COMSysApp");

if (sc.Status == ServiceControllerStatus.Stopped)
{
sc.Start();
}
}
}
}
catch (Exception)
{
throw;
}
}
}
}

 

服务的创建、要实现的简单功能已经完成,那如何让它运行呢?其实服务的安装很简单,一句命令就可以完成:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe  服务路径[如:D:\TestWService\TestWService\bin\Debug\Service1.exe]

卸载

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe  /u  服务路径[如:D:\TestWService\TestWService\bin\Debug\Service1.exe]

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载