手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#编写Windows服务实例代码
C#编写Windows服务实例代码
摘要:MicrosoftWindows服务(即,以前的NT服务)使您能够创建在它们自己的Windows会话中可长时间运行的可执行应用程序。这些服务...

Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。

使用Microsoft Visual Studio2012可以很方便的创建一个Windows服务,本例实现一个向D盘的txt文件里,写入系统时间的Windows服务。

新建一个Windows Services工程:

C#编写Windows服务实例代码1

工程创建好之后,默认会有一个Services1.cs文件,删掉此文件,重新添加一个新Item

C#编写Windows服务实例代码2

右击新添加的这个文件,选择View code,可以看到,有两个函数 OnStart和OnStop,OnStart函数在启动服务时执行,OnStop函数在停止服务时执行。

这两个函数的代码如下:

复制代码 代码如下:

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.Threading.Tasks;

using System.IO;

namespace MyFirstWindowsService

{

partial class MyWindowsService : ServiceBase

{

public MyWindowsService()

{

InitializeComponent();

}

protected override void OnStart(string[] args)

{

// TODO: Add code here to start your service.

FileStream fileStream = new FileStream(@"D:MyWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);

StreamWriter streamWriter = new StreamWriter(fileStream);

streamWriter.BaseStream.Seek(0, SeekOrigin.End);

streamWriter.WriteLine("My service started" + DateTime.Now.ToString() + "n");

streamWriter.Flush();

streamWriter.Close();

fileStream.Close();

}

protected override void OnStop()

{

// TODO: Add code here to perform any tear-down necessary to stop your service.

FileStream fileStream = new FileStream(@"D:MyWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);

StreamWriter streamWriter = new StreamWriter(fileStream);

streamWriter.BaseStream.Seek(0, SeekOrigin.End);

streamWriter.WriteLine("My service stopped " + DateTime.Now.ToString() + "n");

streamWriter.Flush();

streamWriter.Close();

fileStream.Close();

}

}

}

之后需要新建一个安装组件MyWindowsServiceProjectInstaller(右击MyWindowsService.cs这个文件选择view desiner,然后选择Add Installer),需要将MyFirstWindowsServiceProcessInstaller的account属性设置为localservice.

C#编写Windows服务实例代码3

C#编写Windows服务实例代码4

编写批处理文件:

安装服务批处理:

复制代码 代码如下:

%SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe C:Usersgaoja1DesktopMyWindowsServiceMyFirstWindowsServicebinDebugMyFirstWindowsService.exe

Net Start ServiceTest

sc config ServiceTest start= auto

卸载服务批处理:

复制代码 代码如下:

%SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe /u C:Usersgaoja1DesktopMyWindowsServiceMyFirstWindowsServicebinDebugMyFirstWindowsService.exe

服务安装好之后:

C#编写Windows服务实例代码5

服务启动之后可以在D盘看到一个txt的文件,里面记录了服务的启动时间.

【C#编写Windows服务实例代码】相关文章:

c# 图片加密解密的实例代码

c#文件的复制,移动,创建(实例代码)

c# 共享状态的文件读写实现代码

C#启动和停止windows服务的实例代码

c# SendMail发送邮件实例代码

C#灰度化图像的实例代码

C#索引器简单实例代码

C#实现协同过滤算法的实例代码

C#仿密保卡功能的简单实现代码

C# 大小写转换(金额)实例代码

精品推荐
分类导航