Windows服务和.Net Framework之间有什么关系?

时间:2016-03-09 15:23:33

标签: c# .net windows service

我研究过Windows服务和.Net框架。 根据我的研究,Windows服务是一种主要用于在后台运行的应用程序,可以自动或定期完成。和 .Net是由Microsoft开发的主要在Microsoft Windows上运行的软件框架。

我想知道.Net框架的堆栈基本上是Windows服务,假设Windows服务使用.Net框架。 任何关于这两者之间关系的进一步说明将是一个很大的帮助。

感谢。

4 个答案:

答案 0 :(得分:2)

它们是两个完全不同的概念。例如,他们与酒店清洁人员可能与酒店客人有关的方式有关。仅仅因为他们居住在同一建筑物#34;在某些时候,并不意味着有任何"有用的" (即,就上下文而言是实质性的)在它们之间的关系,尽管它们的路径可能因任何原因而交叉。 Windows服务和.NET框架的概念也是如此。

Windows服务可以用多种语言编写,包括.NET语言。 .NET本身有一个用于创建Windows服务的内置项目模板。

答案 1 :(得分:1)

根据您的帖子:

  

" Windows服务是一种主要用于的应用程序   在后台运行,可以自动或定期完成"

这是正确的,正如上面提到的其他人一样,您可以使用任何框架来构建这些服务。

关于问题的第二部分:

  

" .Net是由Microsoft开发的软件框架   主要在Microsoft Windows"

正是如此,一个框架,您可以使用此框架来创建上述服务。

Windows服务只是一个无需用户交互即可运行的应用程序,.NET是一组可用于构建此类应用程序的工具。

你已经找到了你想要的答案。

答案 2 :(得分:1)

服务不必用.NET编写,任何事情都可以。需要做两件基本的事情。首先,Windows内置的Service Manager需要知道该服务存在。这需要编写一些注册表项。 Bare essentials是服务名称,EXE所在的位置以及应如何启动。您编写的ServiceInstaller类负责这一点,您运行InstallUtil.exe以让该安装程序完成其工作。看看Regedit.exe,导航到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services键。

然后程序需要使用winapi函数与服务管理器通信。这样管理器就可以发送告知服务启动,停止,暂停等的通知。这些服务由ServiceBase类包装,您可以获得可以覆盖的友好方法。像OnStart()等

这就是它的全部。服务经理负责繁重的工作。

答案 3 :(得分:0)

Windows服务是一种在.NET之前已经存在很长时间的应用程序。

您可以使用多种编程语言编写Windows服务。您可以使用.NET编写Windows服务和使用它的语言(C#,VB.NET等),但这不是必需的。您还可以使用不使用.NET框架的其他语言编写Windows服务。