tnblog
首页
视频
资源
登录
有个性,不需要签名
排名
17
文章
40
粉丝
16
评论
21
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

.NET Windows服务发布、安装、卸载、监听脚本。服务调试

5431人阅读 2018/11/22 15:24 总访问:302006 评论:0 收藏:0 手机
分类: .NET


             

一、脚本

  为方便不用每次都去写安装卸载的脚本


1.安装脚本

  1. @echo off
  2. @echo 开始安装【服务】
  3. %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\installutil.exe %~dp0服务名.exe
  4.  
  5. pause


2.卸载脚本

  1. @echo off
  2. @echo 开始卸载 
  3. %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\installutil.exe /u %~dp0服务名.exe
  4. pause

%~dp0:脚本所在目录


 


3.监听脚本(停止了自动启动)

  1. @echo off
  2.  
  3. set ServiceName="服务名"
  4. set flag=0
  5. ::echo "%%a%%b" == %ServiceName% 
  6. for /f "tokens=1* delims= " %%a in ('net start'do if "%%a%%b"== %ServiceName%  set flag=1
  7. if %flag%==0 (net start %ServiceName%
  8. )else (@echo 服务正在运行)



注:

    所有安装卸载脚本需放在服务同目录下,监听脚本任意 所有脚本都是bat脚本,需用管理员权限执行

    监听脚本可以用windows自带的任务计划设置每几分钟或小时运行一次 就可以达到监听的目的

    注意安装卸载路径 %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\installutil.exe,如果不是生成的64位程序Framework64需去掉64


二、调试

  如需调试服务 可在服务启动函数中加上:Debugger.Launch(); 启动服务后附加到vs中就可以调试了


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

Quartz.net实例动态改变周期调度misfireCron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

C ??? 问号和2个问号的用法(类型?对象?)

C# ?C# ???:单问号1.定义数据类型可为空。可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值如这...

C outref关键字的用法和区别

说说自己对out、ref的认识,面试问到的几率很高哟。out:classProgram { /* *out、ref都是引用传递,传递后使用都会改变...

cVB.net中全角半角转换方法

///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input">任意字符串...

redis中主从哨兵和集群这三个有什么区别

主从模式:备份数据、负载均衡,一个Master可以有多个Slaves。sentinel(哨兵)发现master挂了后,就会从slave中重新选举一个...

JS监听inputkeydown,有输入法时打字完成后触发事件

在给输入框绑定input或keydown事件时预期效果是有输入法时,输入中文后触发事件,不希望输一个字母就触发一次事件可以用到c...

下划线换行回车空格ASCII码值与对照表

下划线,ASCII码95换行 , ASCII码10回车 , ASCII码13空格 , ASCII码32ASCII码表:Bin(二进制)Oct(八进制)Dec(十进制)Hex(...

docker常用命令删除镜像命令进入容器docker重启命令等

1. docker version查看 Docker 版本信息2. docker info显示 Docker 系统信息,包括镜像,容器数等3. 运行容器第一次使用:d...

多线程Lock锁数据库实现队列

队列其元素以先进先出(Firstin,Firstout,FIFO)的方式来处理的集合。先放入队列中的元素会先读取。队列使用System.Collect...

jsJQuery获取文本的宽高

页面编写:<!DOCTYPEhtml> <html> <head> <metacharset="UTF-8"/> <title>jQ...

code first执行命令报错,无法将“Enable-Migrations”项识别为 cmdlet函数脚本文件

EF:执行命令报错无法将“Enable-Migrations”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如...

缓存穿透缓存击穿缓存雪崩区别

一、缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存...

微服务分布式架构项目的一点点想法

分布式与微服务的区别:说一点个人理解分布式: 分散压力。 不同功能块之间的通讯少,还是会有不少代码,每一...

文件传输原理与二进制字节字符理解

传输文件原理: 把文件转换成字节数组,通过字节数组传输 然后接收方在把字节数据转换成文件二进制为什么能存储文件 ...

使用jquery操作元素的css样式(获取修改等等)

使用jquery操作元素的css样式(获取、修改等等) //1、获取和设置样式 $("#tow").attr("class")...