2008-10-16 24 views
0

我們有一種服務,可以按指定的時間間隔運行用於數據導入/導出的方法。爲了測試這些方法,我們有一個小應用程序和一個單擊按鈕,點擊後,實例化導入/導出類並調用所需的方法。沒有什麼花哨。我想創建一個更強大的測試應用程序,它可以以比實時方式接收來自該方法的返回值更多的調試信息。這些方法可能需要幾分鐘到30分鐘的時間來運行完整的導入/導出加載,並且我希望能夠指出已經處理的數據量。用於服務方法的GUI

我最初的想法是將這些類封裝在某些類型的消息隊列類中,然後測試應用程序可以讀取並顯示這些消息。不過,我仍然對此感到滿意,所以我不知道是否有更好的方式來做我想做的事情。

我們在VB開發的.NET 2.0

回答

2

您可以修改您的服務方法,提高了加工過程中的狀態報告,然後簡單地處理你的代碼的事件更新狀態的事件,這將是最快的方法。

你的產品代碼可能根本就沒有與事件

1

也許你可以使用一個BackgroundWorker對象更新與服務的調試信息,您的應用程序做任何事情。 BackgroundWorker的好處在於它在單獨的線程上運行代碼,使您的表單可用於更新。

使用BackgroundWorker將允許您使用服務中的調試信息來更新您的應用程序,以便您可以在該過程運行時查看更多信息。在「DoWork」方法中啓動進程,並在顯示調試信息時,調用「ProgressChanged」方法。在'ProgressChanged'方法中,您可以使用調試信息更新您的表單。

讓我知道這是否有幫助! JFV

+0

+1你的評論非常有幫助,以及米切爾的,但他的答案更符合我的要求。您應該很高興知道,我確實實施了BackgroundWorker以及事件。 – 2008-10-17 19:48:48