代码之家  ›  专栏  ›  技术社区  ›  Wes P

服务方法的GUI

  •  0
  • Wes P  · 技术社区  · 16 年前

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

    我最初的想法是将这些类包装在某种类型的消息队列类中,然后测试应用程序可以读取和显示这些消息。然而,我仍然是一个n00b在这个,所以我不知道是否有更好的方法来做我想做的。

    我们在.NET 2.0上用VB开发

    2 回复  |  直到 16 年前
        1
  •  2
  •   Mitchel Sellers    16 年前

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

    您的生产代码无法对事件执行任何操作

        2
  •  1
  •   JFV    16 年前

    也许您可以使用BackgroundWorker对象使用来自您的服务的调试信息更新您的应用程序。BackgroundWorker的好处在于它在一个单独的线程上运行代码,这样表单就可以更新了。

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

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