none
Como utilizar ado.net 2.0 de forma assincrona RRS feed

  • Pergunta

  • Pessoal eu tenho uma pagina que quando postada executa varias idas ao banco de forma sequencial e independente. Porem uma dessas idas demora muito. Gostaria de deixar essa ida de forma assincrona para "adiantar" a execucao dos outros metodos, isso seria uma boa pratica? Seria algo como escrito abaixo:

    PageLoad(){

    if(!Page.IsPostBack){
         Metodo1();Metodo2();Metodo3();
    }

    }


    Neste caso o metodo2 seria assincrono.
    Aguardo sugestoes.

    GJúnior
    terça-feira, 3 de março de 2009 19:08

Respostas

  •  using System;
     public delegate void TestDelegate();
     class Test
     {

       public static void Display1()
       {
         Console.WriteLine("This is the first method");
       }

       static void Main()
       {
         TestDelegate t1 = new TestDelegate(Display1);  //Cria um delegate para a função Display1 q será chamada de forma asssincrona

         IResultAsync result = t1.BeginAsync();

         .... faz algum processamento

         Object objRetornoFuncao = t1.EndAsync( result );

         Console.ReadLine();
       }
     }
    Bruno Gallego - Se este poste foi útil, por favor, classifique
    quinta-feira, 5 de março de 2009 23:54

Todas as Respostas

  • Ola,

    Sugiro uma visita a este post do Amigo Israel, esta foi a palestra dele no Teched :-)

    http://weblogs.pontonetpt.com/israelaece/posts/28337.aspx

    Fernando Cerqueira MVP.ASP.NET TEAM AJAX.TOOLKIT CONSULTOR & ARQUITETO
    quarta-feira, 4 de março de 2009 00:33
  • Fernando Cerqueira disse:

    Ola,

    Sugiro uma visita a este post do Amigo Israel, esta foi a palestra dele no Teched :-)

    http://weblogs.pontonetpt.com/israelaece/posts/28337.aspx


    Fernando Cerqueira MVP.ASP.NET TEAM AJAX.TOOLKIT CONSULTOR & ARQUITETO


    Obrigado Fernando, verei o link!

    GJúnior
    quarta-feira, 4 de março de 2009 04:23
  • Cria um delegate para o método que acessa o banco. Chame delegate.BeginAsync.
    Vai executar de forma assíncrona.
    Bruno Gallego - Se este poste foi útil, por favor, classifique
    quinta-feira, 5 de março de 2009 14:14
  • Bruno Gallego disse:

    Cria um delegate para o método que acessa o banco. Chame delegate.BeginAsync.
    Vai executar de forma assíncrona.


    Bruno Gallego - Se este poste foi útil, por favor, classifique



    Moderno esse lance, vc tem algum exemplo ai broder? Vlw pela dica.
    GJúnior
    quinta-feira, 5 de março de 2009 23:15
  •  using System;
     public delegate void TestDelegate();
     class Test
     {

       public static void Display1()
       {
         Console.WriteLine("This is the first method");
       }

       static void Main()
       {
         TestDelegate t1 = new TestDelegate(Display1);  //Cria um delegate para a função Display1 q será chamada de forma asssincrona

         IResultAsync result = t1.BeginAsync();

         .... faz algum processamento

         Object objRetornoFuncao = t1.EndAsync( result );

         Console.ReadLine();
       }
     }
    Bruno Gallego - Se este poste foi útil, por favor, classifique
    quinta-feira, 5 de março de 2009 23:54
  • Bruno Gallego disse:

     using System;
     public delegate void TestDelegate();
     class Test
     {

       public static void Display1()
       {
         Console.WriteLine("This is the first method");
       }

       static void Main()
       {
         TestDelegate t1 = new TestDelegate(Display1);  //Cria um delegate para a função Display1 q será chamada de forma asssincrona

         IResultAsync result = t1.BeginAsync();

         .... faz algum processamento

         Object objRetornoFuncao = t1.EndAsync( result );

         Console.ReadLine();
       }
     }


    Bruno Gallego - Se este poste foi útil, por favor, classifique


    Massa vou testar vlw !!!

    GJúnior
    sábado, 7 de março de 2009 13:45