【问题标题】:showing a popup form a windows service显示窗口服务的弹出窗口
【发布时间】:2012-01-09 12:18:35
【问题描述】:

我正在寻找一些关于即时使用 Windows 服务创建的应用程序的建议。基本上我们有一些时间表软件,我需要创建一个 Windows 服务来轮询数据库,看看他们是否完成了上周的时间表。如果他们还没有完成,我希望应用程序弹出一条消息,说明它不完整,他们应该去完成它。

我根据我找到的教程创建了一个简单的服务,并让它安装和运行良好。我现在需要考虑弹出窗口的形式。我不确定从服务中做到这一点是个好主意。谁能指导我使用 Windows 服务开发此应用程序的最佳方式。

【问题讨论】:

标签: c# c#-4.0 windows-services


【解决方案1】:

如前所述,您不能从服务中创建用户界面。为了达到这个目的。您必须构建另一个应用程序。您可以使用 Windows 窗体或 WPF 来构建 NotificationArea 集成应用程序。

我会使用带有 net tcp 绑定的 WCF 在两个应用程序之间进行通信。

【讨论】:

    【解决方案2】:

    正如你刚才所说的那样。这不太适合 Windows 服务,因为当用户未登录时不会发生任何事情。另一方面,如果您还发送邮件并显示弹出窗口,那么决斗方法将是理想的。

    我建议取消该服务并仅使用您的表单。

    【讨论】:

      【解决方案3】:

      您可以开发另一个 WinForms 应用程序,它每隔 X 秒(例如)从数据库中读取一次

      您的 Windows 服务将写入数据库,指示作业是否完成。

      一旦您的 Winforms 应用程序(例如可以位于系统托盘中)从数据库中读取并发现作业未完成 - 使其弹出并提醒用户。

      只是一个想法!

      【讨论】:

      • 似乎我可能不需要服务。只是一个位于系统托盘中的应用程序。嗯
      • 请记住,除非用户永久登录,否则位于系统托盘中的应用程序不会 24/7 运行,这是此解决方案的缺点。
      • 它只需要在用户登录时运行。生病开始研究谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-14
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多