3

我有一个 Windows 应用程序,它从数据库中读取数据并根据用户选择的项目填充多个 Listview 容器。特定 Listview 中的某些数据可通过 MenuItem 选项右键单击以“将数据写入 Excel”。这可能需要大约 10 分钟才能完成。

我有用独立代码编写的 Excel 互操作部分,或者我可以将它合并到应用程序项目中。Excel 互操作应用程序只需要 1 个参数来完成它的工作。

我的问题是……我应该将它合并到 Windows 应用程序中并使用多线程还是将其作为一个独立的应用程序运行(这似乎更有效),这是从 Windows 应用程序调用的?在 Windows 应用程序启动该过程然后可以忘记它的地方有什么好的方法。

4

3 回答 3

3

我认为这个问题的答案是:“如果用户在这 10 分钟内关闭主应用程序会发生什么?”

如果仍然应该写入文件,那么独立应用程序是完美的,因为您的线程将无法生存。

如果文件创建应该被中断,那么我认为没有理由不使用多线程,因为默认情况下它看起来更简单,特别是如果它在同一个应用程序中调试这部分代码会更容易。

于 2013-06-26T13:19:36.910 回答
0

使用另一个线程来编写它。

于 2014-09-20T02:01:27.993 回答
0

我会推荐以下流程:

  1. 我们可以创建自己的队列,该队列将在数据库或文件系统中维护。
  2. 然后我们可以编写一个调度程序,它将获取所有未处理的请求,并根据响应标记排队项目的适当状态。

现在,您的应用程序只需调用排队过程并从那里继续前进。

于 2013-06-26T13:13:46.113 回答