问题标签 [worker-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
359 浏览

logging - Serilog 日志记录到工作服务.net core 3.1 中的文件

我是工人服务的新手。我在 .net core 3.1 中创建了工人服务。参考本教程使用 serilog 在 .Net 5 worker 服务中记录文件。 它按预期工作,即它正在记录到文件中。现在我安装了我必须使用的服务

Microsoft.Extensions.Hosting.WindowsServices

并修改代码如下。

现在,当我运行该服务时,它没有记录到文件中。我错过了什么吗?

0 投票
0 回答
53 浏览

c# - WorkerService 增量内存使用

我正在编写一个一直运行的调度程序。它每 15 分钟检查一次数据库并处理是否有任何数据要处理。这是 .net core 3.1 WorkerService 项目。我面临的问题是调度程序使用的内存随着时间的推移而增加(一天超过 1000mb)。下面是示例代码(因为我不能在这里发布实际代码)也有类似的问题。

工人阶级

TestBAL 类

初始内存消耗约为 15.2mb

在此处输入图像描述

5分钟后它增加到16.2mb

在此处输入图像描述

谁能帮我理解为什么内存在积累以及如何解决这个问题?

0 投票
0 回答
16 浏览

background-service - 在 .Net 5 Worker 服务中创建会话

我正在使用 Asp.NET 5。如何在 ExecuteAsync 中设置会话?另外,是否需要在 program.cs 中进行定义?

0 投票
0 回答
28 浏览

c# - 作为 Windows 服务部署的 BackgroundService 无法完成长时间运行的工作

我遵循这一点,并认为我可以使用这种模式在无限循环中运行长时间运行的任务。这是我的代码:

问题是对工作项的迭代(请参阅注释点 1 + 2)未完成,并且再次调用 ExecuteAsync - 由于等待 Task.Delay(10,stopToken),大约在 10 毫秒后。我可以强制停止执行吗?猜猜这首先会破坏 ExecuteAsync 的使用。任何建议将不胜感激。谢谢!

0 投票
0 回答
40 浏览

asp.net-core - 有什么方法可以在 .Net core 3.1 控制台应用程序中读取环境名称?

我有一个 .Net core 3.1 Worker 服务,但每当我运行它时,我都会将环境名称设为“Production”,并将 appsettings.json 作为其文件以从中读取配置。我想将此服务部署到 Windows 服务器,我已将 ASPNETCORE_ENVIRONMENT 变量添加为“SIT”(测试环境),但它仍然使用 appsettings.json 而不是 appsettings.SIT.json 。

我的 API 项目遇到了同样的问题,但是使用了 dotnet cli 进行发布,它在 web.config 中创建了环境条目,这对我有用。但由于这是一个控制台应用程序,我被严重卡住了。我可以在这里得到一些帮助吗

我用于 api 的命令 - “dotnet publish /p:Configuration=Release /p:EnvironmentName=SIT”

在下面找到我用来读取环境名称的代码。

公共静态字符串 CURRENT_DIR = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

0 投票
3 回答
208 浏览

c# - 阻塞集合在 BackgroundService 中导致高 CPU 使用率

我有一个 .NETBackgroundService用于使用 .NET 管理通知BlockingCollection<Notification>

我的实现是导致 CPU 使用率高,即使BlockingCollection.

我收集了一些转储,似乎我遇到了线程池饥饿。

我不确定应该如何重构以避免这种情况。

我也尝试删除 while 循环,但问题仍然存在。

核心转储屏幕截图

编辑:添加了制作人

0 投票
0 回答
36 浏览

.net - 如何以管理员身份从 Worker Service 执行控制台应用程序?

我有一个具有自动更新功能的 Worker 服务。只要有可用的更新,它就需要在管理员模式下调用 Installer.exe,这是一个控制台应用程序(引用项目)。每当我将 Intaller.exe 作为独立控制台应用程序运行时,它都会工作,但是当从工作服务调用它时,它甚至不会被调用。

我知道它不起作用的方式是安装程序应用程序的第一个任务是停止工作服务,但它并没有停止。

我尝试在 Installer.exe 和 Worker Service 中包含 app.manifest,以管理员身份运行它们,但这并没有改变任何事情。

这就是我调用安装程序应用程序的方式。

我在这里做错了什么?或者不可能做到这一点?

0 投票
0 回答
18 浏览

kubernetes - 我可以在 Kubernetes 中迁移我的控制台应用程序(像 Windows 服务一样在本地运行)吗?

我围绕“Windows 服务”的概念开发了一个 .NET Framework 控制台应用程序。在Main()方法中,我有类似的东西:

MyService是从 .NETSystem.ServiceProcess.ServiceBase类派生的类,并MyService覆盖其OnStart()方法、OnStop()方法等。我想在 Kubernetes 中运行这些控制台应用程序。我面临的问题是执行立即结束,因为应用程序没有“安装”为集群中的真正窗口服务。我已经阅读了.NET 中的工作人员服务,但我想知道是否可以维护旧代码。

0 投票
1 回答
230 浏览

asp.net-core - Visual Studio Code DotNet 核心项目“ProjectName.dll”不存在

我收到了新的项目文件。它实际上是.NET Core Worker Service项目。使用 VS 代码创建。我试图手动构建服务。但那里没有任何dll文件。因为我只是在收到后才更改项目名称。现在我尝试运行我的项目。但我得到了错误。它说

你能告诉我如何在 VS Code 中使用 dll 文件设置我的本地环境吗?我实际上是 VS 代码的新手。如何在项目中手动设置dll文件

0 投票
1 回答
50 浏览

visual-studio - 服务绑定程序异常:找不到方法

尝试启动它:Visual Studio 16.7.6 上的https://github.com/celery94/GrpcHostServer给了我以下异常:

System.MissingMethodException:'找不到方法:'Microsoft.AspNetCore.Builder.IEndpointConventionBuilder Microsoft.AspNetCore.Builder.RoutingEndpointConventionBuilderExtensions.WithDisplayName(Microsoft.AspNetCore.Builder.IEndpointConventionBuilder,System.String)'。

是什么原因造成的,我该如何解决?