.net core部署到windows服务上的完整步骤
 更新时间:2019年09月12日 08:36:25   作者:王延领  

这篇文章主要给大家介绍了关于.net core部署到windows服务上的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

前言

Net core 项目部门在Windows有很多种方式,大致有以下几种,

dotnet 命令,
iis(windowshosts),
一些开源的应用容器(docker )
基于一些exe 程序,微软官网上案例
Nssm 搭建windows服务

其中优劣对比在这不进行累述。我今天是把它搭建到windows服务上的,这种方式对于我们现有dotnet来说相对美观(一个黑框框,一个看不到),电脑重启可以自动重启。
1.实现

1.1.下载nssm

官网www.nssm.cc/,下载地址www.nssm.cc/download
1.2.搭建windows 服务 
找到文件夹下建立的Install.bat 点击运行弹出操作窗体。
Install.bat内容:

%~d0
cd %~dp0
nssm install NPSWebCoreService
PAUSE

Path:选择系统运行bat—-C:\\Nps\\CoreWeb\\1run.bat
ps:因为我们系统中要特殊处理所以直接执行了bat。此内容正常是填写C:\\Program Files\\dotnet\\dotnet.exe. 因为要执行dotnet命令,我这些操作实在bat中执行的。
Startup directory:bat 所在目录不用改变;
ps:发布项目文件夹的地址。
Arguments:为空;
ps:项目运行dll:
Service name:我写在install.bat 批处理里面了,不要改变,因为代码中重启服务我这是写死的。。
ps:创建线管名称即可,即windows 服务名称。
然后点击Install service按钮就完成了部署。
注:红色字体为是一般处理方式,非红色是我们系统中处理的方式
1.2.3 启动服务
让后输入网站就可以访问了

3. Nssm

3.1.输入nssm 了解其命令行
3.2.官网www.nssm.cc/usage
4. 针对与咱们系统的问题的处理方案 
4.1. 日志问题,nssm 中path 文件运行bat 不要运行dotnet.exe. Log4net 配置问题。
4.2. Office 转换pdf 问题,windows servers 2008 服务器缺少com组件缺少窗口,我在程序中增加了相关代码,如果没有权限请手动创建(服务器2008 r2 ,2016都能创建)
System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Office Excel 不能访问文件“D:\\Benz\\Daimler\\Benz.Win\\LSHBizPlanFigure.xls”。 可能的原因有:
? 文件名称或路径不存在。
? 文件正被其他程序使用。
? 您正要保存的工作簿与当前打开的工作簿同名。
此问题的出现 我十分不解。
解决方案 也十分疑惑

This solution is …
?Windows 2008 Server x64
Please make this folder.
C:\\Windows\\SysWOW64\\config\\systemprofile\\Desktop
?Windows 2008 Server x86
Please make this folder.
C:\\Windows\\System32\\config\\systemprofile\\Desktop
…instead of dcomcnfg.exe.
This operation took away office automation problems in my system.
A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel.
It disappears from Windows2008, Windows2003 had the folder,
and I think it cause this error.

即在C:\\Windows\\System32\\config\\systemprofile和C:\\Windows\\SysWOW64\\config\\systemprofile目录下创建名为Desktop目录即可解决问题
该方法确实解决了我的问题
4.3.数据库备份重启服务问题,改为重启windows服务,所以请用上面的install.bat运行不要,改变Service name。
重启服务代码:

try
{
ServiceController service = new ServiceController(“NPSWebCoreService”);
if (service.Status == ServiceControllerStatus.Running)
{
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped);
}
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running);
}
catch (Exception){}

4.4.netcoreweb要基于mysql 服务问题,担心再启服务器的时候,mysql和windows 服务启动顺序的问题,我在启动bat 中怎么了判断mysql服务是否启动的判断。
bat 内容:

@echo off

SETLOCAL enabledelayedexpansion
rem 关闭自动输出
:begin

for /f “skip=3 tokens=4” %%i in (‘sc query MySQL’) do set “zt=%%i” &goto :next
:next
if /i “%zt%”==”RUNNING” (
echo 已经发现该服务在运行。
) else (
net start MySQL80
echo 已经发现该服务在运行1。
)

rem 接收输入
rem 输出得到的输入信息
echo 启动NPSWebCore

dotnet ./NPSWebCore.dll

@echo 启动结束
exit

总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对华域联盟的支持。

您可能感兴趣的文章:用.NET创建Windows服务的方法使用.NET Core3.0创建一个Windows服务的方法.Net Core WebApi部署到Windows服务器上的步骤.NET Core使用Topshelf方式创建Windows服务的全过程记录

core
部署
windows

相关文章
asp.net IList查询数据后格式化数据再绑定控件这篇文章送给.net初学者或者遇到类似问题的朋友,就是IList如何格式化数据再绑定,我看到网上没有多少朋友讲到这方面的最基本的问题,现在我简单说说吧,代码我就截取其中一些讲,如果不明白的朋友可以留言或者联系我。 2009-11-11
.Net遍历窗体上控件的方法这篇文章主要介绍了.Net遍历窗体上控件的方法,通过foreach语句实现遍历窗体上的控件以及找出TextBox控件的功能,具有一定参考借鉴价值,需要的朋友可以参考下 2014-12-12
详解ASP.NET Core WebApi 返回统一格式参数这篇文章主要介绍了详解ASP.NET Core WebApi 返回统一格式参数,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2018-11-11
.Net程序防止被注入代码(整站通用)分享防止sql注入,通常一个一个文件修改不仅麻烦而且还有漏掉的危险,下面我说一上如何从整个系统防止注入 2013-11-11
ASP.NET Core自动生成小写破折号路由的实现方法这篇文章主要介绍了ASP.NET Core自动生成小写破折号路由的实现方法,帮助大家更好的理解和学习使用ASP.NET Core,感兴趣的朋友可以了解下 2021-04-04
asp.net下使用DIME协议上传文件asp.net下使用DIME协议上传文件… 2007-04-04
.Net Core实现选择数据热更新让服务感知配置的变化这篇文章主要介绍了.Net Core实现选择数据热更新让服务感知配置的变化,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 2021-03-03
asp.net Coolite TablePanel使用TabPanel控件使用非常简单,但是功能却非常强大,它同MenuPanel、TreePanel一样提供了很多的集合属性,可以定制出丰富的应用。 2010-03-03
asp.net操作Word实现批量替换这篇文章主要介绍了asp.net操作Word实现批量替换的方法,需要的朋友可以参考下 2015-10-10
ng-repeat中Checkbox默认选中的方法教程这篇文章主要给大家介绍了关于ng-repeat中Checkbox默认选中的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 2018-08-08

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。