我正在尝试使以下代码更有效率,它可以正常工作,但需要 12% 的处理器资源。我有一种感觉,这可以做得更好。
这就是我的 localService 的样子:
public class localService
{
public string ID { get; set; }
public string Name { get; set; }
public string Server { get; set; }
public string Status { get; set; }
}
这是我试图改进的功能。
while (running)
{
try
{
IEnumerable<localService> serviceList = Startup.ServiceList;
foreach (var service in serviceList)
{
using (var sc = new ServiceController(service.ID))
{
if (sc.Status.ToString() != service.Status)
{
// Do some work here
}
}
}
}
catch (Exception)
{
running = false;
}
}
serviceList 目前包含 4 个 localService 对象。我已经在控制台应用程序中编写了这个,目的是使其成为 Windows 服务。