Windows下如何让.Net程序运行在后台

一、背景

              在 Windows 环境下,要让 .NET 应用程序运行在后台,你可以使用几种方法。

每种方法都有其适用的场景,你可以根据你的具体需求选择合适的方法。对于开发和调试目的,使用 PowerShell 或批处理文件通常是最简单的方法。对于生产环境,将应用程序作为 Windows 服务运行通常是更稳定和可靠的选择。这里就用批处理文件的方式。

  • 使用 PowerShell 脚本: 你可以编写一个 PowerShell 脚本来运行你的应用程序,并使其在后台运行。这可以通过使用 Start-Process 命令实现,它允许程序在没有窗口的情况下运行。
  • 创建一个批处理文件: 创建一个 .bat 文件,其中包含你的 dotnet 命令,并使用 start 命令以无窗口模式运行它。
  • 使用 Windows 服务: 如果你的应用程序需要长时间运行且不间断,你可能想要将其作为 Windows 服务运行。这需要一些代码更改,以便将你的应用程序作为服务来启动和管理。.NET Core 提供了一些工具和库来帮助你将应用程序作为服务运行。

  • 使用任务计划程序: 使用 Windows 任务计划程序创建一个新任务,该任务在系统启动时运行你的 .NET 应用程序。你可以配置任务在没有用户登录的情况下运行。

二、操作

运行.net程序,将输出日志和报错日志分别输出到文件中。

先将.net程序发布一个稳定的版本:dotnet publish --configuration Release。然后去跑这个文件。

2.1 目录结构

2.2 脚本文件

run.bat

@echo off
PowerShell -NoProfile -ExecutionPolicy Bypass -File "scripts\webapi_begin.ps1"

webapi_begin.ps1

# 日志文件路径
$logPath = "scripts\log\web_api_log.txt"
$errorPath = "scripts\log\error.txt"
# 定义要启动的程序和参数
$exePath = "dotnet"
$arguments = "bin/Release/net7.0/xxxx.dll"

# 启动进程并重定向输出到日志文件
$process = Start-Process $exePath -ArgumentList $arguments -PassThru -NoNewWindow -RedirectStandardOutput $logPath -RedirectStandardError $errorPath

运行命令:.\scripts\run.bat

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mikey689

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值