Tengo un problema con una aplicación que estoy creando. Estoy tratando de iniciar un servicio de Windows a través de mi aplicación C#. Cuando hago clic en mi botón de inicio, parece que todo funciona, pero cuando inicio sesión en el servidor, el servicio aún no muestra que se está ejecutando. Sin embargo, la segunda vez que lo ejecuto, recibo una excepción que dice que la instancia del servicio ya se está ejecutando. De nuevo, cuando inicio sesión en el servidor, el servicio parece estar detenido. ¿Alguien ha visto esto alguna vez?C# start Windows Service programmatically
Aquí está mi código.
try
{
while (reader.Read())
{
int timeoutMilliseconds = 1000;
string serviceName = reader["ServiceName"].ToString();
string permission = reader["Permission"].ToString();
if (permission == "E")
{
lblServStartSuccess.Visible = true;
ServiceController service = new ServiceController(serviceName);
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
else
{
lblServErrorStart.Visible = true;
}
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
EDIT: Aquí está la excepción que he recibido en un servicio:
System.InvalidOperationException: Servicio Administrativo de servicio Administrador de discos lógicos no se encontró en equipo ''. ---> System.ComponentModel.Win32Exception: el servicio especificado no existe como un servicio instalado --- Fin de la pila de excepción interna trace ---
Sé que el servicio existe. ¿Debo agregar algo en frente del servicio para decirle qué servidor mirar?
¿Está seguro de que el servicio no está bloqueado en el estado inicial? Recuerdo que el panel de control de servicios no fue brillante al mostrar eso (al menos algunas versiones de Windows) – Rup
¿Qué quiere decir con "cuando inicio sesión en el servidor"? ¿Está intentando utilizar el SCM en una máquina diferente? – BrokenGlass
Sí, estoy ejecutando el servicio web desde un servidor remoto. Estoy usando una cuenta que tiene acceso de administrador. No estoy seguro de si está atascado. ¿Mi tiempo de espera puede ser demasiado corto y el tiempo de espera? – Matt