2012-07-12 71 views
0

我有一個基本上允許用戶搜索SQL Server 2008數據庫上的數據並更新/操作它的vb.net 4.0 UI。所有與數據庫的通信都是通過存儲的特效進行的。其中一個更新過程最多可能需要6分鐘才能處理 - 目前用戶只會看到「正在處理...」消息,直到更新完成,然後顯示結果。在.net 4.0 UI中運行後臺任務的選項

我認爲這是一個很好的後臺任務候選人。我希望用戶能夠調用請求,然後繼續在UI中執行其他工作。任務完成後,會通知他們結果。我可以通過線程來完成這個嗎?我是新來的線程,但給了一些文學和一個例子或2我可以在我的路上。我做了一些Google搜索,但在示例中用戶是否可以在任務執行時繼續在UI中工作並不明顯。是否有其他選擇來完成我所描述的內容?

感謝。

回答

1

有許多選項可用於運行後臺任務,但在.net 4.0中,neatest可能會使用TPL(任務並行庫)。你可以執行後臺任務如下:

Task.Factory.StartNew(()=>SomeMethod()); 

詳細信息可以在這裏找到。

http://msdn.microsoft.com/en-us/library/dd460717.aspx

但請記住,如果你需要執行這個調用返回時,任何用戶界面的更新,則需要派遣,早到UI線程。

TPL還具有在分派器線程上運行延續的機制。

當後臺任務正在運行時,UI線程不會被阻塞。

+0

好東西,謝謝! – Violet 2012-07-12 15:51:15