windows服务的编写,手动安装与卸载
windows服务的编写
1.要添加的引用
using System.ServiceProcess;
using System.ServiceModel ;
using WcfServiceLibraryAgain;//自己写的WCF服务的名称
2.写windows服务
public partial class MainService : ServiceBase
{
ServiceHost host;
public MainService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Type serviceType = typeof(Service1);//托管REST或非REST服务,方式一样。Service1就是要托管的wcf服务的类
host = new ServiceHost(serviceType);
host.Open();
}
}
注意:要将WCF中的配置文件拷贝到windows服务程序的配置文件中。(这点很重要)
手动安装windows服务
1.将Windows服务程序切换到设计视图, 右击设计视图选择“添加安装程序”
2.切换到刚被添加的ProjectInstaller的设计视图
设置serviceInstaller1组件的属性:
1) ServiceName = 服务名称
2) StartType = Automatic ,即自动,Manual是手动,剩下那个是禁用,不过这都不重要,安装好后再服务管理器中可以很方便的设置。
设置serviceProcessInstaller1组件的属性
1) Account = LocalSystem,账户一般设置为本地系统
DisPlayName中设置的名字即你打开服务管理器中服务的名称,我这里叫MyService1
然后重新生成一下
3.右键点击开始按钮,选择命令提示符(管理员)(A),也就是以管理员身份运行cmd,按如下路径找到对应安装服务的程序C-windows-Microsoft.NET-Framework-v4.0.30319-InstallUtil.exe,在cmd中输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(即InstallUtil.exe的路径,在其属性中拷贝,必需右键粘贴),回车运行(注意cd 后要留空格)
右键解决方案,选择在资源管理器中打开文件夹,找到要安装的windows服务的exe文件,WindowService1-bin-Debug,拷贝其路劲,然后再cmd中继续输入命令InstallUtil.exe+空格+路径(注意路径要完整,Debug后还要加上\名称.exe),然后回车运行完成安装,关键截图如下:
至此服务已安装成功!打开服务管理器查看服务是否存在。
手动卸载windows服务
如果觉得写的服务有问题或者是其他原因想卸载服务,在cmd中与安装是几乎相同的,第一步完全以样,第二步的命令变为InstallUtil.exe +空格+ –u +路径(注意路径要完整,Debug后还要加上\名称.exe)
补充:还可以用VS自带的工具完成服务的安装与下载,这时不需要做cmd中的第一步,直接到第二步就可以了,要方便一点,卸载时该用命令\u,下面详细说一下用VS自带的工具怎么卸载服务:
这时要注意还是要以管理员身份运行
安装几乎相同,就不用说了!
总结:手动安装是服务安装最老旧的方法,我们不能一直用这个方法,但是学会了手动安装会让我们对服务的装原理更了解一些,对写自动安装与卸载还是有帮助的,希望对大家有所帮助!
最新文章
- Mac eclipse配置Python环境
- Objective-C实现发短信和接电话
- Redis redis-cli常用操作
- String类常用方法。
- GDC2016【彩虹六号:围攻 】使丰富的“突破”成为可能的破坏系统
- Android(java)学习笔记156:Java虚拟机和Dalvik虚拟机的区别
- pip install robotframework-sshlibrary提示: Microsoft Visual C++ 9.0 is required
- 《python源代码剖析》笔记 python虚拟机中的函数机制
- 扩展Python模块系列(一)----开发环境配置
- c/c++再学习:查找算法了解
- [Swift]LeetCode130. 被围绕的区域 | Surrounded Regions
- vue $refs 无法动态拼接,获取不到对象(转)
- [PHP] 算法-数值的整数次方的PHP实现
- 利用SharpZipLib进行字符串的压缩和解压缩
- SQLServer Management Studio登录框中的“服务器名”填写
- lmbench性能分析工具
- Linux多台机器配置ssh免登录
- 设计模式(16)--Iterator(迭代器模式)--行为型
- eclipse neon配置tomcat8无法显示默认页面解决方法
- web中显示中文名称的图片,可以这样配置filter
热门文章
- 数据库筛选用户,然后去掉一部分(列表求差),再随机返回一个用户。sqlalchemy + python集合(set) + random
- 【Record】9.16..9.23
- 360随身WIFI作USB无线网卡的做法
- js进阶 10-9 -of-type型子元素伪类选择器
- NOIP模拟 最佳序列 - 二分 + 单调队列
- UUID不失精度,长度改进
- 数码测色计获取UIColor的RGB
- 微信小程序要调数据 微信小程序 for 循环详解
- 【record】10.30..11.6
- java做微信支付notify_url异步通知服务端的写法