【问题标题】:What are the basic applications of Windows services?Windows服务的基本应用有哪些?
【发布时间】:2023-03-30 01:11:02
【问题描述】:

我对 windows-services 非常满意,从上两周开始我就一直在练习。请您给我解释一下Windows服务的一些基本应用,以便我把它作为作业和练习。 (不需要太基础)

我已经设计并实现了一个项目/服务,当我打开一个说“Gtalk”的程序(或进程)时,它旨在关闭所有浏览器。

我很感兴趣并且非常渴望了解有关 Windows 服务的更多信息。

问候。

【问题讨论】:

  • 在我的项目中,我们使用 Windows 服务代表用户执行需要提升系统权限的操作,而用户可能在没有管理权限的情况下登录。例如,您必须是本地管理员才能打开“原始”套接字。我们的 Windows 服务会执行此操作,并将收集到的网络数据发送到前端应用程序以供用户处理。我们使用的是 .NET,因此我们利用 WCF 在服务和应用程序之间进行通信。
  • 非常感谢@Matt 提供的信息。

标签: c# windows-services


【解决方案1】:

“服务”一词(Windows 或其他方式)意味着它是在没有用户界面且可能没有任何用户交互的情况下运行的东西;它一直在“运行”等待服务发送给它的命令。

Windows 服务是长期运行的 执行特定的可执行文件 功能,其旨在不 需要用户干预。视窗 服务可以配置为启动 操作系统启动时 并在后台运行,只要 Windows 正在运行,或者它们可以是 需要时手动启动。

Ref.

【讨论】:

  • 感谢您的回复,嗯。我得到的基本想法来自维基。我只是想要一些家庭作业项目来练习。
  • 嗯,除非您有特定的想法,否则很难回答。如何创建一个将搜索提交到多个不同搜索引擎并整理结果的服务?或者创建一个监控其他服务的服务?名单无穷无尽……
【解决方案2】:

您可以尝试实现自己的调度程序吗?我认为服务最基本的用途是让自动进程根据特定的时间表运行。

【讨论】:

    【解决方案3】:

    几点

    1. OnStart 方法应在 30 秒内返回,否则 SCM 将超时。 OnStart 应该处理您的服务的所有初始化。构造函数在应用程序的可执行文件运行时调用,而不是在服务运行时调用。可执行文件在 OnStart 之前运行。例如,当您继续时,不会再次调用构造函数,因为 SCM 已将对象保存在内存中。

    2. ServiceAccount:windows服务中的一些bug是由于无法访问特权资源造成的。仔细选择帐户类型或使用自定义帐户。

    3. Asynchronous Programming:如果您要连接到 Web 服务,那么异步编程方法是更好的方法。

    4. System.Timers.Timer:如果您的服务定期执行“某事”,请考虑使用 System.Timers.Timer。

    What can Services do under Windows?

    Testing windows service

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 1970-01-01
      • 2016-08-04
      • 2017-06-29
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多