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的基础架构和 市 ...
随机推荐
- hadoop学习第一天-hadoop初步环境搭建&伪分布式计算配置(详细)
一.虚拟机环境搭建 我们用的虚拟机为vmware,Linux镜像为centOS6.5. vmware安装 安装没什么多说的,一路下一步,但是在新建虚拟机的时候有两个地方需要注意: 1.分配处理器1个就 ...
- C语言基础 - 实现动态数组并增加内存管理
用C语言实现一个动态数组,并对外暴露出对数组的增.删.改.查函数 (可以存储任意类型的元素并实现内存管理) 这里我的编译器就是xcode 分析: 模拟存放 一个 People类 有2个属性 字符串类型 ...
- ASPCMS改造中
10月中旬的时候,芹芹大神给我接了个做网站的活,一番商量过后,我以低得说出来丢人TT的价格接了.主要是想借此摸清网站制作的一条龙服务. 目前根据ASPCMS开源管理系统,做了个大致的构架,下面上草图: ...
- Zend Framework1 框架入门(针对Windows,包含安装配置与数据库增删改查)
最近公司接的项目需要用到Zend Framework框架,本来需要用的是ZendFramework2 ,但是由于原有代码使用了ZendFramework1 框架,所以顺带学习了.现将一些基础入门记录一 ...
- 给定一个无序数组arr,求出需要排序的最短子数组长度。例如: arr = [1,5,3,4,2,6,7] 返回4,因为只有[5,3,4,2]需要排序。
思路 首先从左往右遍历,然后设定一个Max,如果遍历的过程中array[i]大于Max,则置换Max,若小于Max,则指定 k 记录该位置. 然后再从右往左遍历,设定一个Min,在遍历的过程中arra ...
- 阿里云直播SDK - .NET
阿里云sdk:https://develop.aliyun.com/sdk/csharp?spm=5176.doc27234.2.4.QiJb9l Github:https://github.com/ ...
- Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
这个问题当然是找不到mysql的驱动类,可能是环境CLASSPATH有问题或者就是那个人没有加载jdbc的驱动.我在网上下载mysql-connector-java-5.0.8-bin.jar一个这个 ...
- java常见排序方法
1.java常用排序方法 1) 选择排序 原理:a. 将数组中的每个元素,与第一个元素比较 如果这个元素小于第一个元素, 就将这个 两个元素交换. ...
- android学习SeekBar的使用
SeekBar介绍听歌的时候,我们常常想快进或者快退到某一时间段,听歌的时候我们控制音量大小听歌,SeekBar可以通过滑块的位置来标示数值,而且拖动条允许用户拖动滑块来改变进度条的大小 SeekBa ...
- xhost和DISPLAY
xhost是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是作为图形来说,是在hostA上显示 ...