2011-04-29 65 views
0

我有一個偶爾與MSSQL數據庫進行交互的用戶界面。在Invoke語句中有一個心跳線程將數據插入/更新到同一數據庫。C#WinForm併發調用

1)我的實施是否防止DB數據不一致/損壞?

2)調用 UI線程/心跳線或者是的路要走之間建立DB序列化的最有效的/最簡單的方法?

+0

這取決於您希望用戶如何進行交互。在單獨的線程中調用數據庫的更新沒有任何問題。雖然是用戶啓動這個數據庫更新?你能否提供更多有關用戶工作流程的信息? – mservidio 2011-04-29 17:32:28

回答

2

您應該考慮BackgroundWorker。調用Invoke方法是很好的抽象,它處理大部分情況。

+0

BackgroundWorker的RunWorkCompleted是否會阻止UI線程停止併發問題?如果是這樣,我認爲這是一個很好的選擇。 – Exegesis 2011-05-02 16:57:37