2008-10-16 56 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