GUI服务方法

时间:2008-10-16 13:52:45

标签: .net vb.net testing .net-2.0 service

我们有一个服务,它以指定的时间间隔运行用于数据导入/导出的方法。为了测试这些方法,我们有一个带有单个按钮的应用程序,当单击该按钮时,实例化导入/导出类并调用所需的方法。没有什么花哨。我想创建一个更强大的测试应用程序,它可以从实时方式接收调试信息,而不是来自服务方法的返回值。这些方法可能需要几分钟到30分钟才能运行完整的导入/导出负载,我希望能够显示已经处理过的数据量。

我最初的想法是将类包装在某种类型的消息排队类中,然后测试应用程序可以从中读取并显示消息。但是我仍然对此感到厌烦,所以我不知道是否有更好的方法来做我想做的事。

我们在.NET 2.0上开发

2 个答案:

答案 0 :(得分:2)

您可以修改服务方法以引发在处理过程中报告状态的事件,然后只需处理代码中的事件以更新状态,这将是最快的方法。

您的生产代码可能无法对事件做任何事情

答案 1 :(得分:1)

也许您可以使用BackgroundWorker对象使用服务中的调试信息更新您的应用程序。 BackgroundWorker的优点在于它在一个单独的线程上运行代码,使您的表单可用于更新。

使用BackgroundWorker将允许您使用服务中的调试信息更新应用程序,从而允许您在进程运行时查看更多信息。在“DoWork”方法中启动该过程,当有要显示的调试信息时,调用“ProgressChanged”方法。在“ProgressChanged”方法中,您可以使用调试信息更新表单。

如果这有帮助,请告诉我! JFV

相关问题