我需要定期做一些工作,比如检查数据库中的一些数据,并在需要时进行一些计算并将它们存储回数据库。
问题是在应用程序启动时在一个单独的线程中启动无限外观以及在池关闭之前定期执行所有必需任务有多么糟糕?
有什么缺点?由于可重复使用/可释放的MVC资源概念,我觉得它可能会影响asp.net处理性能,但我找不到任何证据。
非常感谢任何链接或提示,谢谢!
P.S。我意识到做这样的事情的最佳地点是Windows服务,但它在客户端环境中部署时会遇到一些困难,我正在检查其他任何选项(如果有的话)。
答案 0 :(得分:0)
我建议您构建一个简单的控制台应用程序来执行您想要的操作,然后设置一个计划任务来运行控制台应用程序。
这是我用来执行维护实用程序的方法,例如您所描述的实用程序。
否则,在Asp.net应用程序中,可以重置工作进程,主机可能会触发空闲超时。一般来说,当一个非常简单的控制台应用程序使用您喜欢的语言并完成相同的任务时,我认为这将是错误的方法。