Windows Service的转换与部署
开发Windows Service,可能会碰到以下两种情况。
1. 直接开发一个Windows Service
网上有很多教程,可以参考这个:
http://www.cnblogs.com/sorex/archive/2012/05/16/2502001.html
有可能遇到的问题:
http://www.csharpwin.com/csharpspace/6705r3252.shtml
http://tieba.baidu.com/p/764186736
2. 假设已有一个写好的project,现把它转换为windows service
1)改写Main
namespace Test
{
class Program
{
static void Main(string[] args)
{
Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
//如果是双击打开
if (Environment.UserInteractive)
{
OnStart(args);
}
//如果是以windows service形式运行
else
{
using (var service = new LogService(OnStart, OnStop))
{
ServiceBase.Run(service);
}
}
}
//添加Windows service需要的OnStart和OnStop方法
internal static void OnStart(string[] args)
{
//Project中本来在Main中的code
while (true)
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Start.");
}
Thread.Sleep();
}
}
internal static void OnStop()
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Stop.");
}
}
}
}
2)添加service类,继承ServiceBase,实现以windows service启动的情况。注意service类的type为Window Service类,且需要引用System.ServiceProcess.dll
aaarticlea/png;base64,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" alt="" />
右键点击Service类,选择view code,添加代码如下:
namespace Test
{
partial class LogService : ServiceBase
{
private Action<string[]> _onStart;
private Action _onStop;
public LogService(Action<string[]> onStart, Action onStop)
{
ServiceName = "LogService"; _onStart = onStart;
_onStop = onStop;
}
public LogService()
{
InitializeComponent();
} protected override void OnStart(string[] args)
{
// TODO: Add code here to start your service.
if (_onStart != null)
_onStart(args);
} protected override void OnStop()
{
// TODO: Add code here to perform any tear-down necessary to stop your service.
if (_onStop != null)
_onStop();
}
}
}
3)写安装和删除脚本
sc create LogService binPath= C:\Users\sunyi\Desktop\test2\Test.exe
sc start LogService
pause
net stop LogService
sc delete LogService
pause
4)在windows服务管理中即可查看到启动的windows service
Windows Service的转换与部署的更多相关文章
- 如何将.NET 4.0写的Windows service和Web API部署到docker上面
Web API. 看这篇文章: https://docs.microsoft.com/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc Win ...
- C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)
系列一: 制作一个可安装.可启动.可停止.可卸载的Windows service(downmoon原创) 系列二:演示一个定期执行的windows服务及调试(windows service)(down ...
- windows service 2008 R2 安装net4.6环境失败,windows service 2008 R2 升级sp1问题
一.错误 1.因为我的程序是以vs2017开发的,在windows service 2008 R2 IIS部署项目文件报出错误,因此要安装net4.6的环境. 2.windows service 2 ...
- war包部署在tomcat下,使用windows service服务方式启动tomcat服务器,在包含调用dll的模块,报dll找不到问题的解决办法
问题描述: 开发了一个需要调用dll的java web程序,在idea开发环境下运行调试没问题,可以正常运行,在tomcat/bin下,运行批处理startup.bat,启动tomcat服务器,也可以 ...
- windows 下部署 .netcore 到 windows service
接上一篇 <windows 下部署 .netcore 到 iis>,这一篇记录一下怎么将 Asp.Net Core 以 windows 服务的方式部署. 一.修改代码 其实也很简单,只要调 ...
- windows Service 创建部署
Windows Service简介: 一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序.Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就 ...
- [WCF] - 使用 bat 批处理文件将 WCF 服务部署为 Windows Service
1. 添加 Windows Service 项目 2. 添加 WCF 项目引用 3. 更新 App.config 配置文件(可以从 WCF的 Web.config 拷贝过来),设置服务地址. 4. 配 ...
- .NET6打包部署到Windows Service
1.安装Nuget包 安装以下nuget包支持windows service <PackageReference Include="Microsoft.AspNetCore.Hosti ...
- 如何利用mono把.net windows service程序迁移到linux上
How to migrate a .NET Windows Service application to Linux using mono? 写在最前:之所以用要把windows程序迁移到Linux上 ...
随机推荐
- Android 架构 4.总结
以下是Keegan小钢大神原创博客: Android项目重构之路:架构篇Android项目重构之路:界面篇Android项目重构之路:实现篇 看了这几篇文章,以及下面的评论,总结一下,以便以后拓展: ...
- spark 持久化机制
spark的持久化机制做的相对隐晦一些,没有一个显示的调用入口. 首先通过rdd.persist(newLevel: StorageLevel)对此rdd的StorageLevel进行赋值,同chec ...
- transform使用导致元素内字体出现模糊的坑~~~
项目中遇到的,关于居中弹出层的字体模糊问题. 先来个对比图: 清晰版: 模糊版: 这个是一个不定宽高的弹出框,居中的方式如下代码: .layerdiv { position: fixed; top: ...
- 使用apt-mirror建立局域网内的Debian/Ubuntu源镜像
转:http://forum.ubuntu.org.cn/viewtopic.php?t=41791 第一次翻译,翻译得不好还请大家见谅,多多指出错误~!:) 原文可以见如下的贴子:http://fo ...
- Spring Boot使用@Async实现异步调用
原文:http://blog.csdn.net/a286352250/article/details/53157822 项目GitHub地址 : https://github.com/FrameRes ...
- Oracle API Gateway SOAP到REST协议转换
1.SOAP到REST协议转换 打开policystudio,加入一个policy Container. 搜索extract rest 设置成为start 搜索set message,将url中的变量 ...
- C#之Hello World(入门 )
C#是一种简单.现代.面向对象和类型安全的编程语言. C#由C和C++发展而来.C#(英文发音C sharp)牢固地植根于C和C++语言族谱中,是Microsoft专门为使用.NET平台而创建的. • ...
- [转载]Delphi Tokyo 10.2.3发布了
转载:http://blog.sina.com.cn/s/blog_44fa172f0102wwwg.html 今早最好的消息,Delphi 10.2.3如期发布,下载地址:http://altd.e ...
- Gitlab备份、迁移、恢复和升级
Gitlab备份.迁移.恢复和升级 自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上.备份.迁移.恢复.升级过程如下 1.gitlab备份 ...
- Mycat探索之旅(5)----常用的分片规则
分片枚举 通过在配置文件中配置可能的枚举id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存, 而全国省份区县固定的,这类业务使用本条规则,配置如下: <table ...