1、首先创建一个Windows Service

2、创建完成后切换到代码视图,代码中默认有OnStart和OnStop方法执行服务开启和服务停止执行的操作,下面代码是详细解释:

using System;

using System.IO;

usingSystem.ServiceProcess;

using System.Text;

usingSystem.Timers;

namespaceTestService

{

public partial class Service1 : ServiceBase

{

public Service1()

{

InitializeComponent();

}

protected override voidOnStart(string[] args)

{

//服务开启执行代码

StartDoSomething();

}

protected override void OnStop()

{

//服务结束执行代码

}

protected override void OnPause()

{

//服务暂停执行代码

base.OnPause();

}

protected override void OnContinue()

{

//服务恢复执行代码

base.OnContinue();

}

protected override void OnShutdown()

{

//系统即将关闭执行代码

base.OnShutdown();

}

private void StartDoSomething()

{

System.Timers.Timer timer = newSystem.Timers.Timer(10000); //间隔10秒

timer.AutoReset = true;

timer.Enabled = false;  //执行一次

timer.Elapsed += newElapsedEventHandler(WriteSomething);

timer.Start();

}

private void WriteSomething(objectsource, System.Timers.ElapsedEventArgs e)

{

FileStream fs = null;

try

{

fs = newFileStream("d:/1.txt", FileMode.OpenOrCreate);

string strText = @"//实例化一个文件流--->与写入文件相关联

FileStream fs = newFileStream(sf.FileName, FileMode.Create);

//实例化一个StreamWriter-->与fs相关联

StreamWriter sw = newStreamWriter(fs);

//开始写入

sw.Write(this.textBox1.Text);

//清空缓冲区

sw.Flush();

//关闭流

sw.Close();

fs.Close();";

//获得字节数组

byte[] data = newUTF8Encoding().GetBytes(strText);

//开始写入

fs.Write(data, 0, data.Length);

//清空缓冲区、关闭流

fs.Flush();

fs.Close();

fs.Dispose();

}

catch

{

}

finally

{

if (fs != null)

{

fs.Close();

fs.Dispose();

}

}

}

}

}

3、然后切换到设计视图,右键点击下图中圈选的“添加安装程序”

4、选中下图第一个控件,点击F4,右边切换到属性视图;更改属性视图中的Account属性为LocalService(本地服务)

5、

选中上面第二个控件,点击F4,右边切换到属性视图。更改ServiceName为你自己喜欢的服务名称,记住不要和系统的冲突了哦~,亲!StartType默认为手动,你可以更改为自动

(Automatic)或禁用(Disabled)

6、编译项目,然后win+R输入cmd进入命令窗口。去对应.net版本下的目录中找到InstallUtil.exe,我项目采用的是 .net 2.0,故路径为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Cmd命令
installutil      WindowsService_test.exe  (安装Windows服务)
installutil /u   WindowsService_test.exe  (卸载Windows服务)

.Net 开发Windows Service的更多相关文章

  1. .NET开发Windows Service程序 - Topshelf

    在实际项目开发过程中,会经常写一些类似定时检查,应用监控的应用.这类应用在windows平台通常都会写成window service程序. 在百度上搜索一下'c#开发windows service', ...

  2. 使用C#编程语言开发Windows Service服务

    转载-https://www.cnblogs.com/yubao/p/8443455.html Create Windows Service project using Visual Studio C ...

  3. C# Windows service 开发笔录

    本文将详细图解,开发Windows service的过程. 功能:数据库查询数据后,经过处理,每天定时发送邮件. 一.WinForm调试 1.新建Windows service项目 2.新建WinFo ...

  4. Python3 写Windows Service服务程序

    用Python开发Windows Service,用Python来做这个事情必须要借助第三方模块pywin32,下载路径:https://pypi.org/project/pywin32/#files ...

  5. Windows Service的转换与部署

    开发Windows Service,可能会碰到以下两种情况. 1. 直接开发一个Windows Service 网上有很多教程,可以参考这个: http://www.cnblogs.com/sorex ...

  6. Windows Service 开发,安装与调试

    Visual Studio.net 2010 Windows Service 开发,安装与调试 本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例,讲述一个Windows Servic ...

  7. 如何托管ASP.NET Core应用到Windows Service中

    (此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:正在构思一个中间件的设计,考虑是否既可以使用最新的技术,也可以兼顾传统的部署模式.所以有 ...

  8. 使用Visual Studio 2015 Community 开发windows服务

    昨天研究在.NET下开发Windows服务程序,期间遇到一些小问题,这里仅将自己的开发过程和需要注意的地方写下和广大网友分享……  1.基础   Windows服务是指系统启动时能够自己运行的程序.W ...

  9. 使用Python写Windows Service服务程序

    1.背景 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32 ...

随机推荐

  1. 【转】matlab函数_连通区域

    转载自einyboy的博文Matlab的regionprops详解 1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二 ...

  2. 【spring mvc】后台API查询接口,get请求,后台Date字段接收前台String类型的时间,报错default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'createDate';

    后台API查询接口,get请求,后台Date字段接收前台String类型的时间筛选条件 后台接口接收 使用的实体 而createDate字段在后台实体中是Date类型 报错信息: org.spring ...

  3. etcd:从应用场景到实现原理的全方位解读

    随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐 渐为开发人员所关注.在云计算时代,如何让服务快速透明地接入到 ...

  4. cordova百度导航插件使用

    org.ssgroup.sope.cordova.baiduNavi 插件已经开源至 https://github.com/shenshouer/org.ssgroup.sope.cordova.ba ...

  5. http://www.360doc.com/content/14/0313/17/16070877_360315087.shtml

    http://www.360doc.com/content/14/0313/17/16070877_360315087.shtml

  6. ES,ZK,Mysql相关参数优化

    1.ES 内存调优: vi config/jvm.options -Xms16g -Xmx16g 2.Zookeeper参数配置调优 2.1\在conf目录下 vi java.env export J ...

  7. 系统重装 Windows_VHD_辅助处理工具说明文档2

    创建一个原始安装的VHD文件 如果采用原始安装的方式,则在WIN7的原始光盘中将install.wim这个文件提取到一个文件夹中备用.如果采用Ghost安装的方式,则将Ghost备份文件提取出来(.G ...

  8. Oracle 时间 MM-dd形式转换

    SELECT TO_CHAR( SYSDATE,'MM-dd') AS beginTime,TO_CHAR( TO_DATE(MAX(C.SUBSCRIBE_DATE),'YYYY-MM-dd'),' ...

  9. jm解决乱码问题-参数化-数据库操作-文件上传下载

    jm解决乱码问题-参数化-数据库操作-文件上传下载 如果JM出果运行结果是乱码(解决中文BODY乱码的问题) 找到JM的安装路径,例如:C:\apache-jmeter-3.1\bin 用UE打开jm ...

  10. SubVersion(SVN)的安装配置使用

    一. SubVersion服务器端安装 安装软件:Setup-Subversion-1.6.4.msi,下载地址:http://subversion.tigris.org/servlets/Proje ...