Windows Service - Erro ao iniciar

16/10/2011

0

Estou seguindo o curso aqui do site: Criando um serviço de monitoramento e venho enfrentando um problema, há algumas semanas.
O que ocorre é o seguinte: Depois que o serviço é instalado com sucesso, ao tentar iniciá-lo recebo a seguinte mensagem de erro: Erro 1053: O serviço não respondeu à requisição de início ou controle em tempo hábil. Apos essa mensagem, tento iniciá-lo novamente e o mesmo ocorre com sucesso. E é sempre assim, da primeira vez que tento inciar o serviço, sempre recebo a mensagem de erro citada, porem, na segunda tentativa tudo corre normalmente. Ja pesquisei várias coisas, tentei várias alternativas, ja refiz o projeto varias vezes e nao consigo sucesso.
Estou usando Visual Studio 2010 (aspnet 4.0), SQL Server 2008 e Windows 7.

Ja tentei contato com o instrutor do curso, mas nao obtive sucesso.

Alguem pode ajudar por favor!!? Estou precisando muito resolver isso!

Desde ja agradeço pela atenção de todos!

Abraços!
Thomás Moreira

Thomás Moreira

Responder

Posts

21/10/2011

Diego Cardoso

Cara, pode ser uma série de problemas, aconteceu isso comigo há um tempo atrás e o problema foi por causa do timer que ultrapassava o limite, dependendo do problema você pode resolver utilizando threads no tratamento.


Abraços,
Responder

21/10/2011

Diego Cardoso

Qualquer coisa poste o seu código para ver o que está acontecendo ...
Responder

22/10/2011

Thomás Moreira

Obrigado pela resposta Diego.

Eu ja tinha lido algumas coisas a respeito de fazer com threads.
Vou ver se faço esse teste no final de semana. Caso continue com os erros, eu posto o codigo.

Valeu!
Responder

02/11/2011

Thomás Moreira

Dei uma pesquisada na net e fiz um teste usando threads e continua do mesmo jeito, com o mesmo erro.


Abaixo o codigo do service: (A classe clsDevice executa as procedures que gravam as informações no banco de dados. Os codigos que estão comentados são os originais, e os novos usando threads estão entre comentarios //novo.)

Desde ja agradeço pela ajuda!


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;
using System.Threading;

namespace InvMon
{
partial class InvMon : ServiceBase
{

//Timer tmrMain;

//Novo
private System.Threading.Timer tmrMain;
//Novo

clsDevice objDevice;


public InvMon()
{
InitializeComponent();
//tmrMain = new Timer(30000);


//tmrMain.Elapsed += new ElapsedEventHandler(tmrMain_Elapsed);

}


static void Main()
{

//Cria um array de objetos do tipo da classe e inicia o objeto
ServiceBase[] service = new ServiceBase[] { new InvMon() };
ServiceBase.Run(service);


}


protected override void OnStart(string[] args)
{
try
{

//base.OnStart(args);
//tmrMain.Enabled = true;



//Novo

tmrMain = new System.Threading.Timer(tmrMain_Elapsed, null, 10000, 10000);

//Novo


}
catch (Exception ex)
{
EventLog.WriteEntry(ex.Message, EventLogEntryType.Error);
}
}

protected override void OnStop()
{
try
{
//tmrMain.Enabled = false;
//base.OnStop();



}
catch (Exception ex)
{
EventLog.WriteEntry(ex.Message, EventLogEntryType.Error);
}
}




public void tmrMain_Elapsed(object source)
{


try
{

objDevice = new clsDevice();
objDevice.AtualizarDados();
objDevice.InsereInfoDevice(CPU, Convert.ToDouble(pcCPU.NextValue()));
objDevice.InsereInfoDevice(MEMORIA RAM, Convert.ToDouble(pcMemoriaRAM.NextValue()));





}
catch (Exception ex)
{
EventLog.WriteEntry(ex.Message, EventLogEntryType.Error);

}


}


//public void tmrMain_Elapsed(object sender, ElapsedEventArgs e)
//{


// try
// {
// tmrMain.Stop();

// objDevice = new clsDevice();
// objDevice.AtualizarDados();
// objDevice.InsereInfoDevice(CPU, Convert.ToDouble(pcCPU.NextValue()));
// objDevice.InsereInfoDevice(MEMORIA RAM, Convert.ToDouble(pcMemoriaRAM.NextValue()));


// //EventLog.WriteEntry(Teste., EventLogEntryType.Information);


// }
// catch (Exception ex)
// {
// EventLog.WriteEntry(ex.Message, EventLogEntryType.Error);

// }


//}

}
}


Responder

08/11/2011

Thomás Moreira

Galera, alguem pode me ajudar nesse problema?

Valeu!!!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar