我有一个.NET 4的Web应用程序,有3个独立的项目相关联 - DAL,BAL和UI。我正在使用实体框架进行数据库交互。不断运行的C#代码 - 服务或单独的线程?
我有一些代码通过一串数据库中的数据的周期,调用方法取决于其发现的,然后更新数据库。我想要这个代码一直运行。同时,我希望用户能够登录并运行报告等,而后台的代码却在不断运行。
这是什么方法?我是否为不断运行的代码创建服务,单独的线程,不断运行的代码的完全独立的项目,还是不同的方法..?
此外,根据给出的答案,我将如何启动不断运行的代码?即通过形式加载方法还是有更好的方法?我目前通过点击开始按钮启动代码;这对于测试是很好的,但在生产时不会起作用。
与论坛网站不同,我们不使用“谢谢”,或“任何帮助表示赞赏”,或在[so]上签名。请参阅“[应该'嗨','谢谢',标语和致敬从帖子中删除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed - 从 - 个)。 – 2012-08-13 14:47:25
如果线程的唯一目的是数据库交互,并且DBMS是SQL Server,那么您可能需要考虑将其实现为[在SQL Server中托管的.NET程序集。](http://msdn.microsoft.com/zh-cn/ us/library/ms254498.aspx) – mbeckish 2012-08-13 14:49:07
@mbeckish OP正在使用**实体框架** - 实体框架在.NET CLR中不受支持。参见[相关SO帖子](http://stackoverflow.com/a/2794127/175679)。它将不得不转换成直接的ADO.NET。 – SliverNinja 2012-08-13 14:53:33