【发布时间】:2012-08-09 19:44:56
【问题描述】:
我有一个 .NET 4 Web 应用程序,它关联了 3 个独立的项目——DAL、BAL 和 UI。我正在使用实体框架进行数据库交互。
我的代码循环遍历一堆数据库数据,根据找到的内容调用方法,然后更新数据库。我希望这段代码一直运行。同时我希望用户能够在后台代码不断运行的同时登录并运行报告等。
对此有什么好的方法?我是为不断运行的代码创建一个服务、一个单独的线程、为不断运行的代码创建一个完全独立的项目,还是另一种方法..?
另外,根据给出的答案,我将如何启动不断运行的代码?即仅通过表单加载方法还是有更好的方法?我目前通过单击开始按钮来启动代码;这对于测试来说很好,但在生产中就不行了。
【问题讨论】:
-
与论坛网站不同,我们不使用“谢谢”、“任何帮助表示赞赏”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?.
-
如果线程的唯一目的是数据库交互,而 DBMS 是 SQL Server,那么您可能需要考虑将其实现为 .NET assembly hosted in SQL Server.
-
@mbeckish OP 正在使用 Entity Framework - .NET CLR 不支持实体框架。见related SO post。它必须转换为直接的 ADO.NET。
-
@SliverNinja - OP 没有指定后台线程需要使用实体框架。也许只是 ASP.NET 站点的 DAL 部分应该使用实体框架。
标签: c# html multithreading web-services entity-framework