通过这个示例了解如何通过C#如何创建一个Windows服务程序。

工具/原料

 
  • Vistual Studio 2015 c#

方法/步骤

 
  1.  

    打开vs2015

    文件->新建项目->Visual c#->经典桌面->Windows服务

    在名称中处输入项目名称,我输的是MyFirstService,然后点击确定

  2.  

    如图所示

  3.  

    单击上图中 “单此此处切换到代码视图”。这里我们实现一个最简单的功能,就是启动服务和结束服务后创建一个文件,并且往文件中写入一句话。

    我们要重载里面的OnStart和OnStop方法即可。

  4.  

    因为要处理文件,所以要引用

    using  System.IO;

    下面是OnStart的代码

    protected override void OnStart(string[] args)

    {

    FileStream fs = new FileStream(@"F:\vc\MyFirstService\MyFirstService\bin\Debug\log.txt", FileAccess.ReadWrite);

    StreamWriter sw = new StreamWriter(fs);

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

    sw.WriteLine("Service start:" + DateTime.Now.ToString());

    sw.Flush();

    sw.Close();

    fs.Close();

    }

  5.  

    下面是OnStop的代码

    protected override void OnStop()

    {

    FileStream fs = new FileStream(@"F:\vc\MyFirstService\MyFirstService\bin\Debug\log.txt", FileAccess.ReadWrite);

    StreamWriter sw = new StreamWriter(fs);

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

    sw.WriteLine("Service stop:" + DateTime.Now.ToString());

    sw.Flush();

    sw.Close();

    fs.Close();

    }

  6. 6

    打开service1.cs设计窗口,点击右键,选择“添加安装程序”

    结果如下,然后点击 生成-》生成解决方案即可。这样就生成了Windows服务程序了。然后再利用 .net安装工具安装即可。

最新文章

  1. 第3/24周 区_SQL Server中管理空间的基本单位
  2. js 判断pc端或手机端
  3. git中Member设置为Developer也可以的
  4. jquery 设置checked="checked"无效,radio未选中。。
  5. erl0006 - erlang 查看进程状态,查看当前系统那些进程比较占资源
  6. bzoj1834: [ZJOI2010]network 网络扩容
  7. 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
  8. ArcEngine 图层无闪烁刷新
  9. 利用CSS hover伪类改变其他元素的总结
  10. jQuery实现单击某个标签改变样式
  11. 国内环境安装k8s
  12. 数据看板superset在Windows环境下安装
  13. Bootstrap之响应式导航栏
  14. https笔记【转】
  15. mybatis 动态sql 插入报错
  16. cpu概念
  17. 在IDEA中配置spring boot项目的热更新
  18. svn使用openldap验证apache访问方式
  19. DBA角色职责
  20. Linux学习笔记--vim

热门文章

  1. 设计模式——“signleton”
  2. 【sqli-labs】 less49 GET -Error based -String -Blind -Order By Clause(GET型基于盲注的字符型Order By从句注入)
  3. vs Could Not Connect
  4. CorelDRAW 中文官网 618 48H秒杀开始,多重好礼即刻开抢!
  5. Centos7下mysql的主从配置
  6. C# DataTable扩展方法
  7. uva-679 Dropping Balls UVA - 679
  8. Scrapy实战:使用IDE工具运行爬虫
  9. 六、Scrapy中Download Middleware的用法
  10. 原来PHP对象比数组用更少的内存