簡體   English   中英

長時間運行的進程 vb.net

[英]long running process vb.net

我有一個服務工單管理應用程序,用戶希望在 MDI 框架的選項卡上打開多個工單詳細信息。 由於此應用程序必須通過 Web XML 服務與其他公司通信,因此大約需要 15 ~20 秒。 用戶最抱怨的是他需要等到保存過程完成。 Cursor 正在工作,而正在保存數據而其他無法完成。

在從其他 windows 保存數據時,讓用戶打開其他 window 並執行其他操作或保存數據的最有效方法是什么?

順便說一句,這是 VB.Net / Windows 應用程序。

您可以使用 BackgroundWorker 或新線程。 我個人會嘗試使用內置的異步方法,例如 BeginInvoke

http://www.developer.com/net/vb/article.php/1443981/Asynchronous-Web-Services-for-Visual-Basic-NET.htm

請記住,異步操作很快就會變得復雜,良好的設計非常重要。

我編寫了一個 web 服務,它是解決方案的一部分,需要關閉 go 並運行一個需要很長時間才能運行的方法。 經過一些試驗,我認為最簡單的方法是在 web 服務內的新線程中啟動長時間運行的任務,並將自定義 object 返回給調用應用程序(稍后使用)。

<WebMethod()> Public Function StartChecks() As ResponseItem

    Dim t As New Thread(New ThreadStart(AddressOf Me.StartWork))
    t.Start()

    Return New ResponseItem(CheckGUID.ToString)

End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM