none
CompletedEventArgs - Aguardar terminar evento ??? RRS feed

  • Pergunta

  • Boa Tarde !

    Gostaria de saber se é possível "monitorar" o termino do envento CompletedEventArgs.

    Segue exemplo de como gostaria de fazer... se possível for.


    private static void teste()   
    try
    {
      ....
     webService1.ConsisteInscricaoEstadualCompleted += new EventHandler<ServiceReferenceClientes.ConsisteInscricaoEstadualCompletedEventArgs>(ValidaIE_Completed);
     webService1.ConsisteInscricaoEstadualAsync(ie,uf);
     webService1.CloseAsync();
     
     ....
         aguardar processar e pegar o valor de "ValidaIE_Completed" neste instante ???
         if (result) {faça ...}
    ....

     }

    private static void ValidaIE_Completed(object sender, ServiceReferenceClientes.ConsisteInscricaoEstadualCompletedEventArgs e)
    {             
       result = e.Result;                  
     
    }



    Grato Rogerio
    terça-feira, 23 de fevereiro de 2010 20:47

Respostas

  • Andre,

    A forma que encontrei foi a seguinte:

    Criei um TextBox no meu webform, para servir como uma trigger. No do final do evento "ValidaIE_Completed", altero o valor do TexBox e isto dispara o evento ..change, aproveito este momento e disparo a ação (metodo), que desejo.


    Outro detalhe é que minha interface esta em SL4 e não sei por que (ainda) ... não posso colocar o campo como "Visibility.Collapse " pois isto faz com que o evento ..change não dispare, então a solução foi colocar a altura e a largura do campo com valor igual a "0" ou seja no webform o usuário não enxerga o campo e o evento é disparado.

    ....

    private static void ValidaIE_Completed(object sender, ServiceReferenceClientes.ConsisteInscricaoEstadualCompletedEventArgs e)
    {              
       TexBox1.text = e.Result;                  
     
    }
    private void TexBox1_TextChanged(object sender, RoutedEventArgs e)
    {
        .... dispara a ação desejada....

    }

    Esta foi a forma que encontrei para resolver o problema de sincronismo que temos quando se usa o web service.

    Caso tenha ficado alguma dúvida ou tenha alguma sugestão, fique a vontade.

    Abraços,


    Rogerio
    domingo, 7 de março de 2010 01:22

Todas as Respostas

  • Boa Tarde !

    Gostaria de saber se é possível "monitorar" o termino do envento CompletedEventArgs.

    Segue exemplo de como gostaria de fazer... se possível for.


    private static void teste()   
    try
    {
      ....
     webService1.ConsisteInscricaoEstadualCompleted += new EventHandler<ServiceReferenceClientes.ConsisteInscricaoEstadualCompletedEventArgs>(ValidaIE_Completed);
     webService1.ConsisteInscricaoEstadualAsync(ie,uf);
     webService1.CloseAsync();
     
     ....
         aguardar processar e pegar o valor de "ValidaIE_Completed" neste instante ???
         if (result) {faça ...}
    ....

     }

    private static void ValidaIE_Completed(object sender, ServiceReferenceClientes.ConsisteInscricaoEstadualCompletedEventArgs e)
    {             
       result = e.Result;                  
     
    }



    Grato Rogerio
    Achei uma solução para esta situação... talvez não seja a ideal mas resolveu meu problema.
    Rogerio
    sexta-feira, 26 de fevereiro de 2010 11:21
  • Rogerio,

    Por favor, poste como você solucionou seu problema para que outras pessoas possam se beneficiar dele.

    Obrigado!
    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    sábado, 6 de março de 2010 23:23
    Moderador
  • Andre,

    A forma que encontrei foi a seguinte:

    Criei um TextBox no meu webform, para servir como uma trigger. No do final do evento "ValidaIE_Completed", altero o valor do TexBox e isto dispara o evento ..change, aproveito este momento e disparo a ação (metodo), que desejo.


    Outro detalhe é que minha interface esta em SL4 e não sei por que (ainda) ... não posso colocar o campo como "Visibility.Collapse " pois isto faz com que o evento ..change não dispare, então a solução foi colocar a altura e a largura do campo com valor igual a "0" ou seja no webform o usuário não enxerga o campo e o evento é disparado.

    ....

    private static void ValidaIE_Completed(object sender, ServiceReferenceClientes.ConsisteInscricaoEstadualCompletedEventArgs e)
    {              
       TexBox1.text = e.Result;                  
     
    }
    private void TexBox1_TextChanged(object sender, RoutedEventArgs e)
    {
        .... dispara a ação desejada....

    }

    Esta foi a forma que encontrei para resolver o problema de sincronismo que temos quando se usa o web service.

    Caso tenha ficado alguma dúvida ou tenha alguma sugestão, fique a vontade.

    Abraços,


    Rogerio
    domingo, 7 de março de 2010 01:22