1..NET Core Generic Host是什么? 在.NET Core 2.1版本加入了一种新的Host,即Generic Host(通用主机). 现在在2.1版本的Asp.Net Core中,有了两种可用的Host: Web Host:适用于托管Web程序的Host,就是我们所熟悉的在Asp.Net Core应用程序的Mai函数中用CreateWebHostBuilder创建出来的常用的WebHost. Generic Host:(ASP.NET Core 2.1版本才有) – 适用于…
此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue #809 等他们方解决了. 官方文档只提供了一个<在 Windows 服务中托管 ASP.NET Core>的方案,可以使用Microsoft.AspNetCore.Hosting.WindowsServices类库来把Web应用部署为Windows服务.但是ASP.NET Core虽然是控制台程序…
背景 2019第一篇文章. 此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue #809 等他们方解决了. 官方文档只提供了一个<在 Windows 服务中托管 ASP.NET Core>的方案,可以使用Microsoft.AspNetCore.Hosting.WindowsServices类库来把Web应用部署为Windows服务.但是ASP.NE…
为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署至linux服务器,或者部署至Windows的IIS中.但也不排除会有Asp.net Core部署至Windows 服务中的情况,比如Windows服务器并没有安装IIS,或者Asp.net Core中存在一些定时任务,需要实时运行,等等一些情况. 微软解决方案 微软也提供了.Net Core部署至…
NSSM把.Net Core部署至 Windows 服务 https://www.cnblogs.com/emrys5/p/nssm-netcore.html 为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署至linux服务器,或者部署至Windows的IIS中.但也不排除会有Asp.net Core部署至Windows 服务中的情况,比如Win…
Cygwin工具编译Redis Redis6.x版本是未编译版本(官方很调皮,所以没办法,咱只好帮他们编译一下了),所以咱们先下载一个Cygwin,用它来对Redis进行编译. Cygwin下载地址: https://cygwin.com/setup-x86_64.exe 下面是安装Cywin的一些注意事项说明: 1.前面可以自己默认或者自由选择,到达下图所示内容以后,添加阿里云镜像.不然可能会下载失败. 阿里云镜像地址: http://mirrors.aliyun.com/cygwin/ 2.…
VS2017项目程序打包成.msi或者.exe Windows服务项目使用VS2017项目程序打包成.msi或者.exe安装包 项目打包成安装包(Windows服务) 1.安装打包插件:Microsoft Visual Studio 2017 Installer Projects 打开vs2017 ,选择 工具 --> 扩展和更新 --> 联机,搜索Microsoft Visual Studio 2017 Installer Projects,进行安装.安装好以后,重启vs2017 2.新建程…
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行.同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大.它的特点如下: 支持普通exe程序(控制台程序或者带界面的Windows程序都可以) 安装简单,修改方便 可以重定向输出(并且支持Rotation) 可以自动守护封装了的服务,程序挂掉了后可以自动重启 可以自定义环境变量 使用SNNM 先确保发布后的程序能运行 直接dotnet 命令 使用nssm安装netcore 可以把…
前言 Net core 项目部门在Windows有很多种方式,大致有以下几种, dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序,微软官网上案例 Nssm 搭建windows服务 其中优劣对比在这不进行累述.我今天是把它搭建到windows服务上的,这种方式对于我们现有dotnet来说相对美观(一个黑框框,一个看不到),电脑重启可以自动重启. 1.实现 1.1.下载nssm 官网http://www.nssm.cc/,下载地址…
Topshelf是 基于.net框架开发的宿主服务框架.该框架简化了服务的创建,开发人员只需要使用 Topshelf编写一个控制台程序,就能安装为Windows服务.之所以这样原因非常简单:调试一个控制台程序比调试Windows服务应用更加简单.一般应用测试后发布到生产环境,由于采用了Topshelf,很简单就能把一个应用安装为Windows服务. 官网:http://topshelf-project.com/  这里面有详细的文档及下载 Topshelf的代码托管在 http://github…
一  prerender.io服务端部署 参考官方网站的部署步骤: $ git clone https://github.com/prerender/prerender.git $ cd prerender $ cnpm install $ node server.js 在浏览器输入 http://localhost:3000/http://localhost:4200   如果能够正确渲染你的angular项目,并且查看源代码是渲染后的html,则说明部署成功. 二.prerender.io…
https://www.cnblogs.com/linezero/p/5159927.html https://www.cnblogs.com/emrys5/p/nssm-netcore.html https://www.cnblogs.com/yanglang/p/7199913.html https://www.jianshu.com/p/fc9e4ea61e13 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/win…
一:背景 1. 讲故事 上周有一个项目交付,因为是医院级项目需要在客户的局域网独立部署. 程序: netcore 2.0,操作系统: windows server 2012,坑爹的事情就来了, netcore sdk 一直装不上,网上找了资料说需要先安装 Visual C++ Redistributable for Visual Studio 2015, 开开心心下载下来又是安装失败,再次找资料说要打一堆 系统补丁,搞了一天!!! 环境总算是装好了,因为是 Console 服务程序,还得给它做成…
1.创建服务 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Topshelf; namespace YY.SmsPlatform.MassSendingSms { class Program { static void Main(string[] args) { HostFactory.Run(x =…
1.创建控制台程序 2.安装Topshelf组件  Install-Package Topshelf using System; using System.Timers; using Topshelf; namespace EsDataImporter { public class Program { public static void Main() { HostFactory.Run(x => { x.Service<TownCrier>(s => { s.ConstructU…
结合Quartz.net学习,前提已经创建了一个定时任务,可见 <定时调度框架:Quartz.net> (基于配置文件形式) 首先引用Topshelf.dll 自定义服务TestService,继承ServiceControl,实现方法. public class TestService : ServiceControl { private readonly IScheduler scheduler; public TestService() { scheduler = StdSchedule…
如题: Tomcat部署进入到Tomcat的bin目录,执行命令:service.bat install  [service_name]安装完毕后服务中能看见Apache Tomcat 7.0 [service_name]命名的服务项.如果卸载服务,可以执行:service.bat remove  [service_name] 如果我们部署的服务不想用Apache Tomcat 7.0做前缀怎么办?答案是修改service.bat文件,把这里面的标红框的Apache Tomcat 7.0文本替换…
1.部署之后执行出现api-ms-win-crt-runtime-l1-1-0.dll丢失的办法 微软官网下载vc_redist.x64.exe vc_redist.x86.exe 64位的操作系统需要安装这两个文件,安装之后发现安装失败,报出来0x80240017 经过多方排查发现需要打补丁 补丁为Windows8.1-KB2919355-x64.msu 打完补丁之后需要重启 重启之后安装vc_redist.x64.exe vc_redist.x86.exe显示成功 再执行kkFileView…
https://www.jianshu.com/p/f2365e7b439c 在服务器上,可cmd cd 进入bin目录下执行…
1. 下载Winsw https://github.com/winsw/winsw/releases 下载winsw官网上的xml文件和.exe文件 2. 编辑配置文件 创建一个文件夹demo,将所需要转换的jar包,和这两个文件放在一起,并且将.exe的文件名修改和.xml文件一样,比如test.exe和test.xml xml的可选项 <!-- 这是Windows服务包装器的一个配置示例. 此配置文件应放在WinSW.exe同目录,名称应相同. 例如,对于myapp.exe,配置文件名应为m…
asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理. 反向代理可以提供很多特性,固然很好.但是还有复杂性,我们也可以使用windows service来直接启动kestrel. asp.net core官方网站提供了一种基于windows服务部署的方法:在 Windows 服务中托管 ASP.NET Core 这种方式需要修改代码,然后部署的时候,使用命令行创建.安装服务,然后再启动. 感觉…
创建 首先你要确保你已经安装了.NET Core 3.0或以上版本. 老版本的Windows服务请看 这篇文章 使用命令行创建:  dotnet new worker 使用Visual Studio创建 中文版: 英文版: 创建的新项目包含两个文件.其中 Program.cs 文件是应用的启动程序.另外一个文件是 Worker.cs 文件,你可以在这个文件编写你的业务代码. 这看起来应该是相当的容易,但是为这个程序添加额外的并行后台服务,你还需要添加一个类,并让它继承 BackgroundSer…
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 本文会涉及部分 Host 相关的源码,并会附上 github 源码地址,不过为了降低篇幅,我会删除一些不涉及的代码. 为了方便,还是建议你将源码(.net5)runtime 和 aspnetcore 下载下来,通过VS等工具阅读 请耐心阅读! Generic Host & WebHost 在.NET Core 2.x时,ASP.NET Core 默认使用的是WebHost: public cl…
NSSM部署Windows服务 1 准备工作 在Windows平台部署Asp.net core应用程序一般采用IIS,但是如果我们的net core应用执行的是定时任务,需要开机自启,稳定运行的话,使用NSSM将其部署为Winodows服务是一种不错的选择.NSSM官网地址:http://www.nssm.cc/. 我们知道netcore应用本质都是Console应用程序,所以这里我们就以一个控制台应用为例演示NSSM部署过程.新建一个控制台项目,项目名为HelloWorld,代码如下: cla…
介绍下一款vue.js实现的基于core2.1 quartz.net调度框架,独立部署不依赖数据库,只需要实现不同业务接口,配置调度时间即可 github:https://github.com/cq-panda/Quartz.NetUI 注意事项: 如果部署在iis下,需要实现对home/index间隔时间进行激活,否则quartz将停止调度 如果使用dotnet Quartz.NET.Web.dll(quartz不会停止调度),需要考虑重启电脑后重新启动 所以: 部署在windowsservi…
一.TopShelf介绍 topShelf是创建Windows服务的一种方式,可以方便管理应用服务,最大广泛应用于,数据实时接收,定时推送等. 二.TopShelf使用 1.安装 TopShelf程序包 2.编码 HostFactory.Run(x => { x.UseLog4Net(); x.Service<TownCrier>(s => { s.ConstructUsing(name => new TownCrier()); s.WhenStarted(tc =>…
我们先来介绍一下使用它的好处,以下论述参考自其他大神. topshelf是创建windows服务的一种方式,相比原生实现ServiceBase.Install.Installer更为简单方便, 我们只需要几行代码即可实现windows服务的开发. topshelf本身支持windows及linux下mono上部署安装,同样也是开源的. topshelf相对原生来说,调试起来比较方便,可以在开发时以控制台的形式直接f5调试,发布时用命令以服务的形式部署. 还一个比较有用的特性是支持多实例的部署,这…
使用.Net Core 2.2创建windows服务 我的环境 win 10 home Visual Studio 2019 v16.1.3 安装有.net core 2.2 创建项目 编辑项目文件 在 PropertyGroup 配置节 加入属性 <RuntimeIdentifier>win-x64</RuntimeIdentifier> 保存后,重新生成项目 在项目文件夹下,会有文件夹 bin\Debug\netcoreapp2.2\win-x64,里面包含了exe文件. 测试…
介绍 ASP.NET Core 3增加了一个非常有意思的功能Worker Service.他是一个ASP.NET Core模板,他允许我们创建托管长期的运行的后台服务,这些服务具体实现IHostedService接口的后台任务逻辑,他被成为"托管服务".同时他们可以部署到windows中Windows服务,以及Linux守护程序. 创建一个托管服务 我们通过命令行界面中的dotnet new 命令.通过如下代码创建一个名为customWorker的WorkerService的应用. d…
1.TopShelf TopShelf是一个开源的跨平台的宿主服务框架.可通过.Net Core/.Net Framwork控制台应用程序快速开发windows服务,更加便于服务调试. 本文基于.Net Core2.2快速开发windows服务 首先,我们创建一个控制台应用程序 然后添加Topshelf Nuget程序包  版本4.2.1 通过Topshelf集成的Log4net管理日志,所以我们这里添加了Topshelf.LogNet4 Nuget程序包 添加log4net.config日志配…