gpt4 book ai didi

asp.net - 你能运行一个 "service"来运行来自 ASP.Net 项目的计划任务吗?

转载 作者:行者123 更新时间:2023-12-04 21:24:32 25 4
gpt4 key购买 nike

我为我们的客户构建了一个 Windows 服务,该服务从数据库中收集所有更改/新行,将它们转换为 CSV,然后 FTP 每天晚上将它们上传到某个地方。现在事实证明,他们无权安装或运行 Windows 服务(这是一个仅 Web 路径托管的解决方案)。

我认为修改 Windows 服务代码以在 ASP.Net 进程内运行并从 Global.asax 实例化是很容易的(我过去曾这样做过,从 MVC 项目中托管 WCF 服务)。我们在 ASP.Net 4.0 上,使用 Web 表单,这个任务在每晚午夜(或其他配置的时间)运行 Quartz 和 OpenPG。

我的老板担心托管过程在没有人访问网站的长时间内休眠或卸载。我很确定这不会发生,但我不完全确定。

这会像我认为的那样工作,还是以这种方式实现它会出现一些问题?

谢谢!

编辑:我知道你“可以”(创建一个对象并调用一个不会阻止 Application_Start 的执行的方法,该方法会触发一个计时器或后台线程或其他东西并在后台运行代码)但这是一个好主意吗? ASP.Net 托管进程 sleep /杀死它正在运行的线程?如果是这样,我可以生成一个新线程(创建我自己的线程,或从池中使用一个线程)并让它无限运行而不会被杀死?

最佳答案

默认情况下,IIS 将关闭空闲进程。您可以更改此设置,但您仍然面临无法保证 Web 进程正在运行的风险。工作进程设置应该以某种方式保持其运行。

关于asp.net - 你能运行一个 "service"来运行来自 ASP.Net 项目的计划任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com