加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

你能运行一个从ASP.Net项目运行计划任务的“服务”吗?

发布时间:2020-12-16 03:25:06 所属栏目:asp.Net 来源:网络整理
导读:我为我们的客户构建了一个 Windows服务,它从数据库中收集所有已更改/新行,将它们转换为CSV并将FTP每晚上传到某个地方.现在,事实证明他们没有安装或运行Windows服务的权限(它是一个仅限Web路径的托管解决方案). 我认为修改Windows服务代码以在ASP.Net进程内运
我为我们的客户构建了一个 Windows服务,它从数据库中收集所有已更改/新行,将它们转换为CSV并将FTP每晚上传到某个地方.现在,事实证明他们没有安装或运行Windows服务的权限(它是一个仅限Web路径的托管解决方案).

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

我的老板担心托管过程在没有人到达网站的长时间内睡觉或卸载.我很确定这不会发生,但我绝对不确定.

这是否会像我想的那样工作,或者以这种方式实现它会有一些问题吗?

谢谢!

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读