Ir para conteúdo
Fórum Script Brasil
  • 0

Threads, Delegate ou Tasks


pjava

Pergunta

Tenho esse programa. Preciso colocar o método execute em uma Thread, task ou Delegate, ou seja,

esse método rodará em um serviço e será startado automaticamente em um servidor e terei muitas execuções

oncorrentes, logo isso deveria ser feito em um desses caras acima. Abaixo todo meu código até agora.

PesquisaAgenda pag = new PesquisaAgenda();

public Form1()

{

InitializeComponent();

}

Lista<Entity.Rotina> listaRotina = new Lista<Entity.Rotina>();

Lista<Entity.Tarefa> listaTarefa = new Lista<Entity.Tarefa>();

Lista<Entity.ExportacaoAgendamento> listaAgendamento = new Lista<Entity.ExportacaoAgendamento>();

Lista<Entity.ExportacaoAgendamento> listaTudo = new Lista<Entity.ExportacaoAgendamento>();

List<Int64> tarefa;

Int64 _execTarefa;

DateTime _diaHoraExcecucao = DateTime.Now;

t.Timer timer = new t.Timer();

private static int CompararTarefas(Entity.Tarefa tarefaDe, Entity.Tarefa tarefaPara)

{

return tarefaDe.OrdemExecucao.CompareTo(tarefaPara.OrdemExecucao);

}

private void BuscaTarefa()

{

if (listaTudo.Count == 0)

{

listaTudo = Sistema.Infrastructure.Repository.ExportacaoAgendamento.RetornarTodos();

}

listaRotina = Sistema.Infrastructure.Repository.Rotina.RetornarTodos();

dgvAgenda.DataSource = listaTudo.ToArray();

dgvRotina.DataSource = listaRotina.ToArray();

foreach (var item in listaRotina)

{

if (item.DataInicial < DateTime.Now)

{

listaRotina = Sistema.Infrastructure.Repository.Rotina.RetornarPorFiltro(new Finder.Rotina() { IdRotina = item.IdRotina });

foreach (var item_rotina in listaRotina)

{

execute(item_rotina.IdRotina);

}

}

}

}

private void execute(Int64 _rotina)

{

var lista = Sistema.Infrastructure.Repository.Tarefa.RetornarPorFiltro(new Finder.Tarefa() { IdRotina = _rotina }).ToList();

lista.Sort(CompararTarefas);

foreach (var item in lista)

{

string path = "";

path = item.Descricao;

System.Diagnostics.Process.Start(path);

}

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

BuscaTarefa();

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...