Интересно, можно ли это обновить с помощью соответствующего указателя для IIS 7.5 ...
дал веб-сервис на C #, используя Visual Studio, чтобы остановить службу Windows «Простой протокол передачи почты (SMTP)», которая называется SMTPSVC.
Ниже приведен веб-метод для этого:
[WebMethod]
public string StopService()
{
String status = "";
try
{
ServiceController scAlerter = new ServiceController("SMTPSVC");
Console.WriteLine(scAlerter.DisplayName);
Console.WriteLine(scAlerter.CanStop);
scAlerter.Stop();
Console.WriteLine("Service stopped");
status = "STOPPED";
}
catch (Exception e)
{
Console.WriteLine("Exception caught here" + e.ToString());
status = "Exception" + e.ToString();
}
return status;
}
Я опубликовал этот веб-сервис на своем сервере IIS 5.1. Когда я вызывал службу, она выдает следующее исключение «Отказано в доступе»
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://y-square.org/">
ExceptionSystem.InvalidOperationException: Cannot open SMTPSVC service on
computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied
--- End of inner exception stack trace --- at
System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
at System.ServiceProcess.ServiceController.Stop() at Service.RestartService()
in c:\Inetpub\wwwroot\RestartService\App_Code\Service.cs:line 38
</string>
По умолчанию сервис использует учетную запись пользователяIUSER_system-name
и я добавил эту учетную запись пользователя в группу системных администраторов, а также добавилASPNET
учетная запись пользователя в группе администраторов.
Я смог остановить / запустить эту службу Windows из C # автономной программы успешно.
Можете ли вы сообщить мне, в чем проблема? Какие-либо настройки разрешений или права доступа пользователей IIS нужно изменить, чтобы запустить это?
Также дайте мне знать, какую учетную запись пользователя эта служба C # будет использовать для остановки службы Windows?
Ваша помощь очень ценится.
Заранее спасибо, йог