c# - 顺序处理算法或正则表达式

标签 c# regex algorithm

我正在编写一个服务,主要负责打开和关闭其他服务,但它们需要按特定顺序打开和关闭。

  1. 主程序
  2. 我。 SvcMasterPool1 二. SvcMasterPool2 三. SvcMasterPool3 ……
  3. 我。 SvcChildPool1 二. SvcChildPool2 三. SvcChildPool3 .....

规则如下: 停止服务:

  1. 如果要停止 #1,则需要在它之前停止其他所有内容。
  2. 如果需要停止#2 中的任何内容,则需要先停止#3 中的匹配服务。 (SvcChildPool1 必须在 SvcMasterPool1 之前停止)
  3. #3 中的服务可以在没有任何先决条件的情况下停止。

启动服务: 它与停止序列完全相反。 1.要启动#3中的服务,需要启动#2和#1中匹配的svc 2.#2 中的服务需要#1 才能启动 3. #1 没有先决条件


主 Svc 和子 Svc 的数量可以随时间增加或减少。我不想在我的代码中硬编码逻辑,我正在考虑使用正则表达式来驱动它。我难过的是从#3 获得匹配的 svc。如果我知道我需要停止“SvcMasterPool2”,我该如何想出“SvcChildPool2”。我可以使用正则表达式来匹配所有 SvcChildPoolX,但无法想出匹配等效子项的解决方案。

我们将不胜感激或欢迎提出更合适方法的任何其他建议。

我打算使用数据库,但我不想为单个服务器添加序列。因此有了使用 RegEx 的想法。所以我只存储模式并在所有服务器上使用它。

谢谢。

最佳答案

如果服务在 Windows 中正确设置,则它们可以报告依赖于它们的内容。

您可以使用 ServiceController启动和停止服务,并使用其属性 DependentServices处理取决于它们的启动和停止。

相关问题: Restart a service with dependent services?

关于c# - 顺序处理算法或正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9432927/

相关文章:

c# - 引用其他函数 C# 创建的实例的函数

javascript - 正则表达式 - 捕获标记的模板文字

php - 用 PHP 用 div 包装 HTML 片段(并从 HTML 标签生成目录)

javascript - 数组中的第 K 个最大元素

c# - 当数据未与报表一起保存并导出为 PDF 时出现 ParameterFieldCurrentValueException

c# - 32 位 .NET 应用程序和 64 位 .NET 应用程序之间有区别吗?

c# - C# 中的匿名标记接口(interface)?

Ruby,真/假正则表达式

javascript - 做,你所有的断言都通过了吗?这是错误

algorithm - 如何计算算法的复杂度?