我有一個.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