创建与正则表达式匹配的 Windows 个服务的集合
Create a collection of Windows Services matching a regular expression
我想创建一个 Windows 服务的集合,这些服务将使用 Where
子句匹配正则表达式。
例如,我有 3 个 Windows 服务调用:
RCLoad1
RCLoad2
RCLoad3
我的正则表达式类似于:“^RCLoad*”
我想使用类似的东西:
ServiceController[] myServices = ServiceController.GetServices(ServerName)
.Where Regex.IsMatch(....)
但我无法让它工作。
您不清楚具体故障。
GetServices(ServerName)
实际上 return 是一个项目列表吗?
后面你不提什么属性有服务器的名字,是不是Name
? 因为您现在拥有的代码采用对象 ToString()
,这很可能默认为类型名称 ,因此失败。 (?)
找到正确的 name 属性 并使用模式 RCLoad
,它将在字符串的任何位置找到它,然后放入 ToList()
比如
Regex rgx = new Regex(@"RCLoad"); // RCLoad can be anywhere in the string.
var controllers = ServiceController.GetServices(ServerName)
.Where(sc => rgx.IsMatch( sc.Name ))
.ToList();
我想创建一个 Windows 服务的集合,这些服务将使用 Where
子句匹配正则表达式。
例如,我有 3 个 Windows 服务调用:
RCLoad1
RCLoad2
RCLoad3
我的正则表达式类似于:“^RCLoad*”
我想使用类似的东西:
ServiceController[] myServices = ServiceController.GetServices(ServerName)
.Where Regex.IsMatch(....)
但我无法让它工作。
您不清楚具体故障。
GetServices(ServerName)
实际上 return 是一个项目列表吗?
后面你不提什么属性有服务器的名字,是不是Name
? 因为您现在拥有的代码采用对象 ToString()
,这很可能默认为类型名称 ,因此失败。 (?)
找到正确的 name 属性 并使用模式 RCLoad
,它将在字符串的任何位置找到它,然后放入 ToList()
比如
Regex rgx = new Regex(@"RCLoad"); // RCLoad can be anywhere in the string.
var controllers = ServiceController.GetServices(ServerName)
.Where(sc => rgx.IsMatch( sc.Name ))
.ToList();