其实我也是第一次在博客园写博客,看到那些高手说自己要多动手写博客,于是乎自己也尝试尝试。  

 废话不多说。这几天在研究window service,通过查找各种大神写的博客,我终于成功的自己写出来了。

下面是创建window service的基本思路:

  1、打开vs,创建window服务项目。

    

项目新建完成。

  2、双击打开Service1,然后右击“添加安装程序”,程序会添加一个 “ProjectInstaller.cs”,双击打开设计页面,会看到一个     叫“serviceInstaller”和“serviceProcessInstaller1”。

首先选择第一个serviceInstaller右击或者F4选择属性,填入DispalyName属性,这是服务安装到计算机上显示的名称,Description是备注,StartType是服务安      装之后的启动方式,Manual是手动,Automatic是自动,Disabled是禁用,这里选手动。

      第二选择serviceProcessInstaller1右击选择属性,选择Account   选择 “LocalSystem”

  3、打开Service1的后台代码会有两个方法OnStart和OnStop分别是服务开启和关闭的方法。

  

public static void WriteLog(string str)
{
if (!File.Exists(@"f:\service.txt"))
{
File.Create(@"f:\service.txt");
}
using (StreamWriter sw = File.AppendText(@"f:\service.txt"))
{
sw.WriteLine(str);
sw.Flush();
}
} protected override void OnStart(string[] args)
{
string state = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "启动";
WriteLog(state);
} protected override void OnStop()
{
string state = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "停止";
WriteLog(state);
}

这段代码会在服务开启和停止的时候记录在txt文件里面,写完之后重新生成项目。

4、接下来就是安装服务。在桌面新建一个文本文档。

“%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\Users\Topsmoon\Desktop\Test\WindowsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe  这是你生成的exe文件的地址

pause

保存之后,重命名为启动服务.bat;

还有就是新建卸载服务.bat

"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u C:\Users\Topsmoon\Desktop\Test\WindowsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe

pause

"

两个新建完成之后,使用管理员的身份运行启动服务的文件,然后服务就会部署到你的机器上面,右键我的电脑->管理->看服务里面吧。

好了,这是我第一次这博客,写得我自己都看不下去,高手勿喷。谢谢

C# window service的创建的更多相关文章

  1. Window Service 计划任务

    在ASP.NET中创建计划任务,就我个人而言,用过两种方式,一种是用SQL Server创建,把写好的SSIS包导入SQL Server创建的任务中,设置好时间让它去执行.还有一种就是利用window ...

  2. 【Window Service】关于Window Service的两三事

    引言  Window Service通常用于寄宿WCF服务或者定时作业.下面记录一下它的用法. 创建 创建Window Service项目后,可以看到Program和Service1类.Program ...

  3. 创建 window service 定时任务

    参考文章:http://www.cnblogs.com/jack-liang/archive/2011/05/20/2051743.html 前段时间做过一个项目,前端系统提供添加定时任务,后端系统要 ...

  4. window service 创建

    1:vs中创建一个 window servece 2.右键 添加安装程序 3.更改属性视图中的Account属性为LocalService(本地服务) 更改ServiceName为你自己的服务名称   ...

  5. C# window Service实现调用有UI的应用程序(关于win xp以后的window系统)

    我开发的系统中有一接口程序(这里就称Task,是一个C#的Console Application)经常无故的死掉,导致第二天的数据不能正常解析,所以,我写了一个window service去监视Tas ...

  6. RabbitMQ.NET In Window Service

    工作中要求使用RabbitMQ,以Windows Service 模式启动,中间有遇到一些问题,网上大部分博客有误导倾向, 在这里做一个简单的记录,以免后面的人走坑: 1. 自动重新连接,不需要手动处 ...

  7. Web Service 的创建简单编码、发布和部署

    最近,老大准备将已有的C/S架构项目中的通信部分做成通用,需要将其支持WebService为以后项目向着B/S架构升级做好铺垫,为此身为屌丝的我去各种百度WebService是个什么卵玩意,然后逐渐搭 ...

  8. 在Salesforce中向外公布Service去创建Lead,并且用Asp.Net去调用此Service

    1):在Salesforce中如何配置,向外公布此Service,请看如下链接: http://www.shellblack.com/marketing/web-to-lead/ 2):如何在Asp. ...

  9. SQL Server Service Broker创建单个数据库会话

    概述 SQL Server Service Broker 用来创建用于交换消息的会话.消息在目标和发起方这两个端点之间进行交换.消息用于传输数据和触发消息收到时的处理过程.目标和发起方既可以在同一数据 ...

随机推荐

  1. 数据结构笔记02:Java面试必问算法题

    1. 面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的 ...

  2. 使用apache和IIS,共用80端口的一个解决方案【转】

    将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理. 在httpd.conf里面,取消下面四行的注释: LoadModule proxy_module m ...

  3. 转载:Restore SQL Server database and overwrite existing database

    转载自:https://www.mssqltips.com/sqlservertutorial/121/restore-sql-server-database-and-overwrite-existi ...

  4. spl_autoload_register()和__autoload()区别

    这篇文章主要介绍了spl_autoload_register()和__autoload()区别,需要的朋友可以参考下   关于spl_autoload_register()和__autoload(), ...

  5. jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 【技巧性(+递归运用)】UVa 1596 - Bug Hunt

    In this problem, we consider a simple programming language that has only declarations of onedimensio ...

  7. 二分法 (UVA10668 Expanding Rods)(二分+几何)

    转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1301845324 大致题意: 一根两端固定在两面墙上的杆 受热弯曲后变弯曲.求前后两个状态 ...

  8. poj 2749 2-SAT问题

    思路:首先将hate和friend建边求其次2-SAT问题,判断是否能有解,没解就输出-1,否则用二分枚举最大的长度,将两个barn的距离小于mid的看做是矛盾,然后建边,求2-SAT问题.找出最优解 ...

  9. 把数据库中的字符串格式转为long类型

    背景: 在做接口时,需要把数据库中所有ID取出来,用jmter做一些数据关联,问题来了,数据库中的ID转换出来为字符型,而接口是需要使用LONG型,所以在导出来后,数据一直报类型不为long,那如何把 ...

  10. Bootstrap插件之Carousel轮播效果(2015年-05月-21日)

    <!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"& ...