运行自己的进程与共享进程的Windows服务之间的差异

时间:2017-08-09 08:36:18

标签: c# windows-services

我正在开发项目,我们决定将后台任务(网络,CPU和IO密集型)分成三个窗口服务。

现在的问题是,我们是否应该将所有三项服务托管到一个流程中,或者使用自己的流程创建三个独立服务。

Windows服务项目模板允许创建多个服务,安装后,他们将在服务控制管理器(SCM)中创建单独的条目,并且可以单独控制。这里的好处是更好的代码管理和代码重用。

但是,如果存在任何性能缺陷,这是我们首先拥有多项服务的主要原因,我宁愿放弃这项优势。

请告知。

1 个答案:

答案 0 :(得分:0)

我的建议是使用topshelf或其他技术创建的Seperarte windows服务因此它们独立于paltform

可伸缩性根据需要可以轻松扩展,如果一个服务的使用比其他服务更多,那么一个服务可以通过运行多个实例来扩展。

并行处理因为服务是独立的,所以它们可以并行工作,从而提高了性能。