Asp.Net Core阻止控制台应用程序关闭

问题描述 投票:0回答:1

我们有一个内置在IIS上的asp.net core 2.0内置的Web应用程序。从这个应用程序,我们正在调用一个控制台应用程序,它从数据库执行排队请求。

问题是应用程序被非常少的人使用,因此它和控制台进程执行很长时间处理。但是当Web应用程序关闭时,此控制台应用程序会自动停止。从事件日志中我们得到以下输出。 (来源:IIS AspNetCore模块)

发送关闭HTTP消息以处理'3548'并收到http状态'202'。

我们尝试将Web应用程序的StartMode设置为始终在IIS应用程序池高级设置中运行。但是,经过一段时间没有人使用该应用程序它停止。

有解决方案吗

c# iis asp.net-core console-application
1个回答
1
投票

你好像正在接近这个问题。我不会从Web应用程序调用控制台应用程序。相反,您应该理想地创建一个后端服务(例如:Windows Service with .NET Core),它定期监视您的队列表并逐步完成它的工作。

这将使您的代码模块化(参考SOLID principles)。它还可以缓解您在与Web应用程序相同的过程中运行控制台应用程序时遇到的问题。

© www.soinside.com 2019 - 2024. All rights reserved.