编写并运行windows服务
一、什么是windows服务
Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事件日志。计算机启动时,服务会自动开始运行。它们不要用户一定登录才运行,它们能在包括这个系统内的任何用户环境下运行。通过服务控制管理器,Windows服务是可控的,可以终止、暂停及当需要时启动。
本文演示创建一个windows服务的基本步骤,和使用InstallUtil.exe来发布服务,使之运行在机器上。主要功能就是在服务启动和结束的时候记下日志,同时每隔一定时间记录下程序运行日志。
二、创建windows服务的步骤
1.新建项目——windows服务
2.给Service1.cs编写代码
todo... code is here。。。
注意:此处的Timer是Syste.Timers.Timer,而不是System.Windows.Forms.Timer,具体区别请看另一篇文章。
三、安装windows服务前的配置
windows服务不同于通常的windows应用程序,光通过一个简单的exe程序执行是不够的,还需要.Net Framework提供的InstallUtil.exe工具来完成,把程序添加到windows服务中去,这样便于InstallUtil.exe或者其它别的安装程序知道你的服务是怎样配置的。
3.添加windows服务安装程序
1. 将这个服务程序切换到设计视图
2. 右击设计视图选择"添加安装程序"
3. 切换到刚被添加的ProjectInstaller的设计视图
4. 设置serviceInstaller1组件的属性:
1) ServiceName = 我的第一个windows服务
2) StartType = Automatic
5. 设置serviceProcessInstaller1组件的属性
1) Account = LocalSystem
6. 生成解决方案
到此为止,这个服务已经生成,接下来需要用InstallUtil.exe来安装windows服务。
四、使用InstallUtil.exe安装windows服务
1.Win+R打开cmd命令提示行
2.切换目录到项目所在文件夹的bin\debug目录,
3.执行命令 InstallUtil.exe MyWindowsService.exe 来注册这个服务
注意:直接运行InstallUtil.exe可能会失败,提示'InstallUtil.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。 因为系统找不识别这个命令,不过可以在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 目录下找到该工具。
4.右击"我的电脑"——服务列表中就有新建的windows服务了。
转载于:https://www.cnblogs.com/fanyong/archive/2013/03/31/2992549.html
编写并运行windows服务相关推荐
- spring boot编写并运行HelloWorld服务接口
spring boot编写并运行HelloWorld服务接口 在主程序上要加包扫描注解@ComponentScan("com.example.demo1") package com ...
- 编写脚本启动windows服务
系统每次开机总是会启动很多服务,而有些服务并不是必须的,只是在用到的时候才需要启动.但是每次通过"控制面板.管理工具.服务"去一个一个启动服务很不爽,于是就想写一个批处理命令一次启 ...
- 以Windows服务方式运行.NET Core程序
原文:以Windows服务方式运行.NET Core程序 在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Wind ...
- 使用C# 创建windows 服务
转自:http://hi.baidu.com/feixu_geer/item/694aaee2d24272226cabb8c9 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是W ...
- python 打包成exe 1053_Python Windows服务pyinstaller可执行文件错误1053
我在 python中编写了一个 Windows服务.如果我从命令提示符运行我的脚本 python runService.py 当我这样做时,服务安装并正确启动.我一直在尝试使用pyinstaller创 ...
- 用.NET创建Windows服务
用.NET创建Windows服务 译者说明:我是通过翻译来学习C#的,文中涉及到的有Visual Studio.NET有关操作,我都根据中文版的VS.NET显示信息来处理的,可以让大家不致有误解. 作 ...
- 使用.NET Core创建Windows服务(二) - 使用Topshelf方式
原文:Creating Windows Services In .NET Core – Part 2 – The "Topshelf" Way 作者:Dotnet Core Tut ...
- 在5分钟内将Spring Boot作为Windows服务启动
最近,我不得不将Spring Boot应用程序部署为Windows服务,并且对使用winsw如此容易感到惊讶. 我之前曾写过关于使用procrun – Java程序作为Windows服务的文章 ,但是 ...
- Windows服务创建及安装
Windows服务创建及安装 原文:Windows服务创建及安装 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System ...
最新文章
- 科研成果汇总:收获的季节
- 代码谱写传奇,深度揭秘中国开发者现状!
- yii2 behavior 排除某个方法_中学科目二 | 教学方法
- 一文看懂神经网络初始化!吴恩达Deeplearning.ai最新干货
- C语言浮点数据在内存中的存储方式
- Java实现二维数组和稀疏数组的转换
- Logistic回归主要应用领域
- SpringBootAdmin服务端
- Shell脚本语言常用命令总结~
- 华为鸿蒙系统学习笔记8-开发者生态建设
- ssms脚本生成缓慢_使用SSMS和Azure Data Studio生成数据脚本
- Linux虚拟机添加磁盘
- OpenCV threshold 二值化
- 在Java编程中,为什么char类型数组可以直接用数组名打印,而其他类型数组打印结果而是地址值。
- 安卓运行linux命令mux,都能看懂的嵌入式linux/android alsa_aplay alsa_amixer命令行用法...
- 【矩阵论笔记】Schmidt正交化、标准正交基
- Facebook被封锁后如何申请解除
- 【学堂上新】Addressable系统解析及实践经验
- springboot - vue-element-admin 整合,修改原有的登录退出
- 奥付云荣获2017年度企业级创新应用 Top 50