none
Metodos ASYNC não apresentam erros no navegador RRS feed

  • Pergunta

  • Desde que comecei usar metodos ASYNC nas minha paginas não consigo visualizar um erro qdo ocorre na aplicação, gerando uma pagina em branco somente ou seja tenho que capturar o erro pelo log, mesmo estando true o debug no web.config, como mostrar erros no navegador??? grato.


    Wagner

    terça-feira, 24 de fevereiro de 2015 15:06

Respostas

  • Wagner bom dia,

    Teria como mostrar em poucos passos como funciona sua aplicação

    MVC - conectores - bancos e afins para ter uma abrangência maior do que esta acontecendo.

    Abraços


    Matheus Leopardi Mello Canelada Campos

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 2 de março de 2015 13:54
  • Olá Matheus, voltei meu código para os métodos tradicionais ( sincronos ) e vou estudar um pouco mais sobre programação assincronas, obrigado.

    Wagner

    segunda-feira, 2 de março de 2015 15:57

Todas as Respostas

  • A razão pela qual a exceção não é detectada é porque o seu método deve ta com um tipo de retorno void e por isso, quando await é chamado, ele simplesmente retorna.

    Tambem sempre utilize o await para que aguarde a conclusão(liberando recurso) e o manipulador de exceção possa ser usado.

    Explicação bem detalhada nesse artigo:

    http://www.interact-sw.co.uk/iangblog/2010/11/01/csharp5-async-exceptions


    Blog Breno Queiroz – MCP

    terça-feira, 24 de fevereiro de 2015 17:03
  • Olá Breno, então não utilizo o metodo do tipo void nas paginas e sim Task o estranho que qualquer exceção tipo  o SQL estar parado a página é retornada em branco, segue um dos métodos utilizados:

     protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    Page.RegisterAsyncTask(new PageAsyncTask(Banner));
                }
            }
    
            private async Task Banner()
            {
                rep01.DataSource = await imovelBLL.Banner();
                rep01.DataBind();
            }


    Wagner

    terça-feira, 24 de fevereiro de 2015 20:07
  • Boa tarde Wagner,

    O que pode estar acontecendo de estar retornando uma pagina em branco pode ser o conteúdo desse banner.

    Pois retorna uma pagina em branco e não um erro pelo que entendi.

    O que contem nesse banner ? Poderia postar para gente ?

    Aguardo seu retorno

    Abraços.


    Matheus Leopardi Mello Canelada Campos

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Sugerido como Resposta Eduardo.RomeroModerator sexta-feira, 27 de fevereiro de 2015 17:59
    • Não Sugerido como Resposta Wagner W sexta-feira, 27 de fevereiro de 2015 18:54
    sexta-feira, 27 de fevereiro de 2015 17:54
  • Olá Matheus, minha aplicação ( Um site de Imóveis ) esta funcionando normalmente o problema todo que quando alterei os métodos para async eu obtive um desempenho muito melhor só que aconteceu a seguinte situação qualquer erro ( seja SQL parado, código com erro e etc ) a aplicação me retorna uma pagina em branco mesmo com o debug ativado ou seja só consigo capturar pelo log e não pelo visual studio, pelo que eu entendi a aplicação fica bloqueada até o término do request, segue o link do exemplo que eu segui.

    http://www.asp.net/web-forms/overview/performance-and-caching/using-asynchronous-methods-in-aspnet-45


    Wagner

    sexta-feira, 27 de fevereiro de 2015 19:21
  • Wagner bom dia,

    Teria como mostrar em poucos passos como funciona sua aplicação

    MVC - conectores - bancos e afins para ter uma abrangência maior do que esta acontecendo.

    Abraços


    Matheus Leopardi Mello Canelada Campos

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 2 de março de 2015 13:54
  • Olá Matheus, voltei meu código para os métodos tradicionais ( sincronos ) e vou estudar um pouco mais sobre programação assincronas, obrigado.

    Wagner

    segunda-feira, 2 de março de 2015 15:57