6.28 Windows Serviece
描述:
A 软件,已经注册了一个windows服务并启用,现在需要在服务自己的一个类B里增加一个字段,服务的作用是返回一个该类型B的实例
做法
增加字段,替换服务文件,重新注册服务并开启,但是在A软件内的服务类型还是老版本的,返回的B类型数据有新加的字段,但是A软件内服务引用的接受数据的类型还是老类型,没有没有新加的字段.
windows服务
能创建可长时间运行的可执行应用程序
体系结构
System.ServiceProcess.ServiceBase -- 在创建服务时从 ServiceBase 类重写方法并定义代码,以确定服务在此继承类中的运行方式。
System.ServiceProcess.ServiceProcessInstaller 和 System.ServiceProcess.ServiceInstaller -- 使用这些类安装和卸载服务。
- ServiceController ,以与现有服务通信并控制其行为。
创建Windows服务
1 以编程方式编写服务。
2 用SV模板创建服务
两种方式都要做以下事情
设置 ServiceName 属性。
为你的服务应用程序创建必要的安装程序。
- 添加服务应用程序所必需的安装程序
- 通过从“生成”菜单选择“生成解决方案”来生成你的项目
- 安装服务
添加服务应用程序所必需的安装程序
切换到设计,右键添加安装程序
界面上生成两个文件serviceInstaller1,serviceProcessInstaller1
一个可以调整服务启动类型,一个设置账户可访问权限
ServiceProcessInstaller 组件适用于项目中的所有单个服务安装程序。
添加的安装程序和你的服务主体之间好像没有啥关系,只是记录一下这个服务的
安装windows服务(由类生成的服务)
管理员方式打开vstool下的VS2012 开发人员命令提示,cd到exe目录下,installutil xxx.exe(普通管理员的cmd不行)
然后就安装,启动服务
(我的测试程序是open一个文件,但是文件没被打开,手动再打开会显示文件被占用,可能这个服务一点界面相关的都不能有)
结论
windows服务不同于普通的exe执行文件,周期决定于应用程序,windows服务的生命周期长
用installutil方式将应用程序注册为服务
关于问题:
为什么服务更新不对?
因为我更改了服务地址:原来是http://192.168.40.31:8400/ACal/BaseService/mex
后来我注册的服务的地址是:http://192.168.40.31:8700/ACal/BaseService/mex
本机上注册的服务端口改变了,软件引用一个没有服务的地址,自然更新不了服务
6.28 Windows Serviece的更多相关文章
- Mysql-5.7.28 Windows安装
1.下载mysql-5.7.28-winx64社区版并解压 2.解压后配置环境变量 3.my.ini配置文件及初始化mysql命令 4.登录mysql 每次windows安装mysql时都需要百度,自 ...
- 微软官网下载windows系统有点全
第一步:访问:https://www.microsoft.com/zh-cn/software-download/windows10ISO/ 默认就只能下载win10,这怎么行呢.巨硬程序员貌似没做服 ...
- Node.js【2】开发环境搭建(Windows、Linux&Mac)
安装方式有非常多种,以下仅仅是我喜欢的一种方式,安装的路径不一定要跟我一样. 眼下最新的版本号是v0.10.28 Windows 1.下载(放到E:\node\nodejs): http://node ...
- windows 10 超级优化,同时解决本地磁盘100%的问题
windows 10 超级优化,同时解决本地磁盘100%的问题 我的系统是笔记本I7处理器,配置了web服务器IIS 和一个数据库(mysql7),同时启用了虚拟机(表中已禁用),以及安装了offic ...
- Java: 在不同windows主题下,JFrame窗口设置最佳高度的解决方案
//设置窗口的大小,无论使用怎样的windows主题,都能灵活的应对,显示合适的窗口大小,一定要在JFrame.setVisible(true)之前调用, //替代传统的frame.setSize(w ...
- Windows系统常见问题
1.Windows自动更新灰色不能修改HKEY_LOCAL_MACHINE/Software/Policies/Microsoft/WindowsWindowsUpdate的资料夹,在WindowsU ...
- Windows下安装配置Apache+PHP+Mysql环境
1.下载相关安装包 Apache下载: http://archive.apache.org/dist/httpd/binaries/win32/ ,选择httpd-2.2.25-win32-x86-n ...
- C++读取文件夹中所有的文件或者是特定后缀的文件
由于经常有读取一个文件夹中的很多随机编号的文件,很多时候需要读取某些特定格式的所有文件. 下面的代码可以读取指定文件家中的所有文件和文件夹中格式为jpg的文件 参考: http://www.2cto. ...
- metasploit模块功能介绍
metasploit的模块构成及功能分析 转载自----http://forum.cnsec.org/thread-94704-1-1.html 今天我们介绍一下metasploit的基础架构和 市 ...
随机推荐
- 用Node.JS+MongoDB搭建个人博客(app.js接口文件)(二)
app.js的GitHub地址:用力戳我然后点个star 说个题外话,THINKPHP是通过一个index.php来引入文件,所以被称为接口文件. 而NodeJS也有这样的接口文件,通常也会放在根目录 ...
- Entity Framework Core 批处理语句
在Entity Framework Core (EF Core)有许多新的功能,最令人期待的功能之一就是批处理语句.那么批处理语句是什么呢?批处理语句意味着它不会为每个插入/更新/删除语句发送单独的请 ...
- 配置LAMP实现WordPress
环境说明: 在同一台主机上实现LAMP(Linux + Apache + MariaDB + PHP) CentOS 7.3.Apache 2.4.6.MariaDB 5.5.52.PHP 5.4.1 ...
- Linux文件系统,ntfs分区显示只读文件系统,提示超级快损坏
背景:某天当我打开自己的设备,突然发现ntfs分区无法写入任何文件,提示为只读文件系统,具体现象如下: 修复过程:排除权限问题,使用fsck进行修复无果后,使用e2fsck进行修复 显示超级快损坏,这 ...
- opnet的simple_source模块学习 分类: opnet 2014-05-18 09:50 170人阅读 评论(0) 收藏
simple_source模块可以在外部设置的属性 有四个局部统计量,分别为产生的bit速率.包速率.包大小,包间隔 状态机为三个非强制对象,在头文件里定义了自中断和转移条件. /*Include f ...
- 读论文系列:Deep transfer learning person re-identification
读论文系列:Deep transfer learning person re-identification arxiv 2016 by Mengyue Geng, Yaowei Wang, Tao X ...
- little bird
LITTLE BIRD Bzoj 3831 相对而言是一道比较简单的DP,不过它需要用单调队列优化.首先是朴素O(n2), if(d[j]>f[i]) f[i]=min(f[i],f[j]); ...
- PAT (Basic Level) Practise (中文) 1023. 组个最小数 (20)
1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...
- jmeter - 关联之正则表达式提取器
如果有这样的情况:一个完整的操作流程,需要先完成某个操作,获得某个值或数据信息,然后才能进行下一步的操作(也就是常说的关联/将上一个请求的响应结果作为下一个请求的参数): 在jmeter中,可以利用正 ...
- 对图像组成不了解?这样学习Matplotlib必走弯路!
在学习Matplotlib的过程中,大家一定会遇到这样那样的问题,比如说,背景图怎么设置?坐标轴怎么设置?坐标轴上的刻度值怎么设置?怎样在PyQt中添加Matplotlib绘图模块? 其实想要学好用好 ...