南通建设企业网站,wordpress 位置地图,山东省建设业协会网站,对网站做数据统计的目的是什么上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法#xff0c;其中有一种方式是通过Windows服务来进行部署#xff0c;这样既可以做到开启自启动#xff0c;又不会因为iis的反向代理而损失部分性能。但是美中不足的是需要借助第三方软件nssm来进行#xff0c;那么… 上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法其中有一种方式是通过Windows服务来进行部署这样既可以做到开启自启动又不会因为iis的反向代理而损失部分性能。但是美中不足的是需要借助第三方软件nssm来进行那么有没有更好并且优雅的方式来进行ASP.NET Core网站的Windows服务方式部署呢答案是肯定的作者依乐祝原文链接https://www.cnblogs.com/yilezhu/p/10380887.html今天这篇文章我会利用番茄工作法来进行写作预计用时四十分钟。所以话不多说开撸吧新建一个asp.net core网站项目如下图所示我将其命名为TestAgent如下所示需要添加两个Nuget包这就是大名鼎鼎的NewLife.Core以及NewLife.Agent了Install-Package NewLife.CoreInstall-Package NewLife.Agent安装后如下所示这时候我们稍微修改Program 在其中添加一个服务类并继承自 AgentServiceBase如下所示public class TestAgentServices : AgentServiceBaseTestAgentServices{ #region 属性/// summary显示名/summarypublic override string DisplayName Agent测试服务; /// summary描述/summarypublic override string Description Agent测试服务的描述信息; #endregion#region 构造函数/// summary实例化一个代理服务/summarypublic TestAgentServices(){ // 一般在构造函数里面指定服务名ServiceName TestAgent;} #endregion#region 执行任务protected override void StartWork(string reason){CreateWebHostBuilder(_args).Build().Run();WriteLog(当前时间{0}, DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss));base.StartWork(reason);} #endregion}如上所示我们重写下显示的名字以及描述信息并把CreateWebHostBuilder(_args).Build().Run(); 移到这个服务的StartWork 方法中.Mian方法中调用TestAgentServices.ServiceMain(); 来引导进入我们上面新建的服务类。以管理员身份打开PowerShell,并利用dotnet run 命令如下图所示运行我们的程序看到如下界面如上所示显示了当前服务的名称描述以及状态黄色字体部分列出了对应的操作命令我们只需要输入对应的数据即可进行操作我们这里直接输入数字2 来进行安装服务如下所示这时候显示服务已经安装但是还未启动这时候我们可以打开windows服务窗口找到我们的Agent测试服务 并右键属性看到如下所示这时候启动下即可我们访问下我们配置的端口来访问下网站如下所示至此我们windows服务方式部署成功总结今天利用NewLife.Agent来演示如何优雅的进行ASP.NET Core程序的部署当然对于控制台程序也是支持的大伙也可以抽空试一下最后我只想说一句.NET Core的生态真的越来越好了好用的东西太多太多了同时这篇文章总共花费了三十八分钟看来番茄工作法还是很高效的如果你有兴趣的话可以加入.NET Core实战项目千人群637326624 跟更多的.NETCorer一起交流