topshelf

Mailkit imapclient working with console application but not working as windows service

一笑奈何 提交于 2021-02-11 12:35:46
问题 I've created an email notification console application using mailkit's idleClient sample code (https://github.com/jstedfast/MailKit/tree/master/samples/ImapIdle). The purpose of this application is to fetch all new emails and trigger web api's based on the content of the email. It works fine as a console application. But when I converted it into a windows service using Topshelf and hosted it in a server environment, the protocol logger is not able to write anything to the logs and the onCount

ASP.NET Core使用TopShelf部署Windows服务

和自甴很熟 提交于 2021-02-11 08:27:12
asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理。 反向代理可以提供很多特性,固然很好。但是还有复杂性,我们也可以使用windows service来直接启动kestrel。 asp.net core官方网站提供了一种基于windows服务部署的方法: 在 Windows 服务中托管 ASP.NET Core 这种方式需要修改代码,然后部署的时候,使用命令行创建、安装服务,然后再启动。 感觉还是不够爽快,我们可以使用topshelf改造一下。 TopShelf topshelf可以很便捷地将一个windows console程序改造成windows service,只需要稍微修改一下代码结构,然后通过nuget包就可以简单操作了。安装与部署也是 极其 方便,而且,topshelf在调试的时候,直接是作为console程序,极其便于调试。 TopShelf项目地址: http://topshelf-project.com/ 步骤 首先引用nuget包: Install-Package TopShelf 然后改造一下program.cs public class Program { public static void Main(string[] args) { var rc =

Is it possible to run Orleans hosted within Windows Service

十年热恋 提交于 2021-02-06 11:26:57
问题 Please, point me out if there are any direct methods to run Orleans hosted within Windows Service. If there are no direct methods, then are there any indirect methods of doing that? Thank you in advance 回答1: Note: this is for v1.x Orleans. 2.x configuration changed quite a bit Here's a topshelf based sample. referencing https://github.com/migrap/Topshelf.Orleans static void Main() { HostFactory.Run(c => { c.Service<OrleansService>(s => { s.ConstructUsing(sc => { sc.ConfigFileName(

Is it possible to run Orleans hosted within Windows Service

北慕城南 提交于 2021-02-06 11:23:01
问题 Please, point me out if there are any direct methods to run Orleans hosted within Windows Service. If there are no direct methods, then are there any indirect methods of doing that? Thank you in advance 回答1: Note: this is for v1.x Orleans. 2.x configuration changed quite a bit Here's a topshelf based sample. referencing https://github.com/migrap/Topshelf.Orleans static void Main() { HostFactory.Run(c => { c.Service<OrleansService>(s => { s.ConstructUsing(sc => { sc.ConfigFileName(

.NET开源作业调度框架(Quartz.NET和FluentScheduler)实战项目演练

我只是一个虾纸丫 提交于 2021-01-08 20:03:23
一、课程介绍 明人不说暗话,跟着阿笨一起玩NET 。本次分享课程属于《C#高级编程实战技能开发宝典课程系列》中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集、整理和完善此系列课程!本次分享课程给大家带来的是《.NET开源作业调度框架实战项目演练》实战技能课程,如果您对本次分享课程感兴趣的话,那么请跟着一起学习吧! 1.1、课程内容以及知识点? 一般的项目中都会需要处理的后台定时作业任务,有时候当我们的定时任务计划比较多的情况时候,我们能否有一种优雅的通用处理框架来解决呢?答案是肯定的!阿笨根据自己的实际工作经验出发,站在第一线开发者的从业角度出发,从而避免大家重复造轮子,阿笨分享的干货内容,希望大家学完本次分享课程后,能够做到现学现用直接运用到实际项目去。 本次分享课程包含知识点如下: 1)、Quartz.NET牛刀小试(ABenNet.QuartzNet.Practice)。 2)、基于Quartz.Net工厂封装实现一行代码搞定作业调度。 3)、 如何优雅的封装FluentScheduler实现作业调度框架(基于Topshlf+Quartz.Net封装的实际项目场景运用) 。 4)、FluentScheduler牛刀小试(ABenNet.FluentScheduler.Practice)。 5)、

.NET CORE 2.2创建WebSocket Windows服务

北战南征 提交于 2020-11-23 06:14:13
作为自己的第一个上线的.Net Core程序,踩得坑还是比较多的,这个程序主要用到了以下几平时没有接触到的方面 开发环境,.Net Core2.2,VS2019 Topshelf Topshelf 是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主。 使用Topshelf可以非常方便的将一个C#控制台程序部署成为一个Windows Service,使用它可以很方便的构建跨平台服务寄主,而在调试时直接以控制台的形式运行即可,非常方便。 首先,通过Nuget安装Topshelf ,我安装的是4.2.0 编写控制台的main函数 System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory); var rc = HostFactory.Run(x => {   x.Service <WebSocketService>(s =>   {   s.ConstructUsing(name => new WebSocketService());   s.WhenStarted(tc => tc.Start());   s.WhenStopped(tc => tc.Stop());   });   x

使用Topshelf部署.net core windows服务

生来就可爱ヽ(ⅴ<●) 提交于 2020-10-02 08:43:18
使用Topshelf部署.net core windows服务 首先新建一个.net core的模板worker程序 过程 略 打开Program.cs namespace TopshelfDemo { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.AddHostedService<Worker>(); }); } } nuget 安装Topshelf 略 改写下Program.cs public class Program { public static void Main(string[] args) { HostFactory.Run(x => { x.Service<IHost>(s => { s.ConstructUsing(() => CreateHostBuilder(args).Build()); s