Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo S.

[Resolvido] Rodando Threads em servidor host

Recommended Posts

Boa tarde,

 

Criei uma aplicação em .NET (C#), a qual cria uma thread para que esta fiquei constantemente rodando em background.

Rodando a aplicação localmente, tudo funciona com perfeição. Porém, quando deploeie para o servidor web (Hostmidia), a thread nunca é executada.

Coloquei diversos logs, verifiquei que o código para a criação e inicialização da thread eh executado, porém o código dentro do método da thread nunca é executado.

Alguém saberia me dizer se o problema é com meu código, ou se existe alguma configuração no servidor que preciso fazer para permitir threads?

 

Esse é o método que ativa/desativa a thread:

 

 

public bool Toggle()

{

lock (_objLock)

{

if (!_isFeeding)

{

_isFeeding = true;

_thread = new Thread(new ThreadStart(FeedThread)); // --> o código passa por aqui, normalmente, sem erro, mas o método FeedThread nunca é executado. _thread.Start();

}

else

{

_isFeeding = false;

_thread.Join();

_thread = null;

}

}

 

return _isFeeding;

}

 

private void FeedThread()

{

// nada do que está aqui dentro é executado

Util.Log("Testando thread...");

}

 

Agradeço a ajuda desde já.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, ela é iniciada nesse trecho de código (no código acima, a linha não foi quebrada):

 

_thread = new Thread(new ThreadStart(FeedThread)); // --> o código passa por aqui, normalmente, sem erro, mas o método FeedThread nunca é executado.

_thread.Start();

 

Não fiz o deploy em outra máquina, ainda. Somente direto no host.

Mas farei essa tentativa e volto a entrar em contato.

 

Obrigado até agora..

 

Abraço,

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o problema.

Um pedaço de código dentro da thread estava gerando um dump, que eu só descobri após deployar a aplicação pro meu IIS local e debuga-la via VS.

Por algum motivo, nem a escrita no log de dentro da thread era executada (isso que ela estava antes da linha que gerava o dump).

 

Obrigado pela dica, amigo ("Já tentou fazer o deploy em uma maquina em rede sem ser a sua?").

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.