2013-12-17 3 views
1

Я пытаюсь получить статус службы Windows из кода, запущенного на веб-сайте ASP.NET. Вот мой код:статус услуг в C#

ServiceController dev1 = new ServiceController(); 
dev1.MachineName="mac_name"; 
dev1.ServiceName = "Adobe Acrobat Update Service"; 

string Dev_Status1 = dev1.Status.ToString(); 

` 

В последней строке я получаю сообщение об ошибке

не может открыть 'Adobe Acrobat службы обновлений' на компьютере "mac_name "InvalidOperationException

+1

Итак, что ваш вопрос? И как мы можем помочь вам ответить на него на основе предоставленной вами информации? –

+0

спасибо за ваш ответ .. Мне нужен статус службы, запущенной на моем локальном компьютере. поэтому, когда я запускаю этот код, я получаю вышеуказанную ошибку. я думаю, это может быть связано с разрешением ... – user3104758

ответ

2

" Adobe Acrobat Update Service "- это отображаемое имя. Имя службы - это AdobeARMservice. Это можно увидеть, открыв сервис services services.msc, а затем щелкнув правой кнопкой мыши на службе и нажав« Свойства ». Отобразятся имя службы и отображаемое имя.

Убедитесь, что ваш веб-сайт имеет разрешения на этот компьютер.

Ваш код должен быть что-то вроде ...

ServiceController sc=new ServiceController("AdobeARMservice", "computername"); 

Если вы хотите, чтобы получить статус много услуг ...

List<string> MyServicesToCheck=new List<string>() {"AdobeARMservice","2ndservicename","3rdservicename"}; 
foreach(string ServiceName in MyServicesToCheck) 
    { 
    ServiceController sc=new ServiceController(ServiceName); 
    System.Diagnostics.Debug.WriteLine("Status of "+sc.DisplayName+" is "+sc.Status); 
    } 
+0

Правильно .. Это работает .. Спасибо ... – user3104758

+0

@ user1139830: Еще одно сомнение .. Может у PLS уточнить, что .. здесь я упомянул только одну услугу. Мне нужен статус 10 различных сервисов. Итак, для этого, должен ли я создать 10 различных экземпляров ServiceController, чтобы получить все это или есть ли другой более простой способ получить их? – user3104758

+0

@ user3104758 Я отредактировал свой ответ, чтобы включить статус нескольких служб. – mason

Смежные вопросы