我有一个 .NET 4 Web 应用程序,它关联了 3 个独立的项目——DAL、BAL 和 UI。我正在使用 Entity Framework 进行数据库交互。
我的代码循环遍历一堆数据库数据,根据找到的内容调用方法,然后更新数据库。我希望这段代码一直运行。同时,我希望用户能够在后台代码不断运行的同时登录并运行报告等。
什么是解决这个问题的好方法?我是为持续运行的代码创建一个服务,一个单独的线程,为持续运行的代码创建一个完全独立的项目,还是其他方法......?
此外,根据给出的答案,我将如何启动不断运行的代码?即只是通过表单加载方法还是有更好的方法?我目前通过单击开始按钮启动代码;这适用于测试,但在生产中不起作用。
最佳答案
您最适合使用 Windows Services对于始终运行的任务。
在 IIS 下的单独线程上运行代码并不是一种可靠的机制,因为 IIS 可以随意终止线程以节省服务器资源。
关于持续运行的 C# 代码 - 服务还是单独的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11936684/