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

Tempo de Resposta Ajax/AspNet


VB6DeveloperJr

Pergunta

Pessoal, estou desenvolvendo uma aplicação em C#, e estou com um problema.

Seguinte, tenho um DataList que esta dentro de um UpdatePanel, criei um Timer nesse UpdatePanel, para fazer a atualização do status do registro a cada 2seg.

Este mecanismo esta funcionando muito bem, porém quando fico por volta de 20 minutos nessa tela que executa o Timer, e clico em outro menu para abrir outra pagina, o tempo de resposta fica muito lento e algumas vezes o navegador fica Sem Resposta e é preciso fechar o navegador.

já tentei de tudo, fiz o teste com o GridView e permanece com este mesmo problema...

se alguém soubeer favoor me da alguma sugestão para resolver...

Obrigado!!!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Não sei se tem alguma coisa haver, mas o Timer faz com que aquela barra de progresso no rodapé do IE fique carregando o tempo todo...

não ocorre refresh por causa do UpdatePanel, mas fica como se a página não estivesse completamente carregada!

O código é esse :

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:DataList ID="dtlMonitoracao" runat="server" RepeatColumns="4" RepeatDirection="Horizontal"
            OnItemCommand="dtlMonitoracao_ItemCommand">
            <ItemTemplate>
                <asp:Panel ID="pnlCanais" runat="server" CssClass="fundoPainel">
                    <table width="200px" height="70px" align="center">
                        <tr valign="top">
                            <td>
                                <asp:ImageButton ID="imgStatus" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/status_erro.png"
                                    CommandName="ExibirGravacoes" CommandArgument='<%# Eval("STATUS").ToString() %>' />
                            </td>
                            <td>
                                <asp:Label ID="lblCanais" runat="server" Text='<%# "Canal " + Eval("Canal").ToString() %>'
                                    Font-Bold="True"></asp:Label>
                            </td>
                        </tr>
                        <tr valign="bottom">
                            <td>
                                <asp:ImageButton ID="imgOuvir" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/falante.png"
                                    CommandName="ExecutaAudio" CommandArgument='<%# Eval("CANAL").ToString() %>' />
                            </td>
                            <td>
                                <asp:Label ID="lblRamais" runat="server" Text='<%# Eval("RAMAIS").ToString() %>'
                                    Font-Bold="True"></asp:Label>
                            </td>
                        </tr>
                    </table>
                </asp:Panel>
                <cc1:RoundedCornersExtender ID="RoundedCornersExtender1" runat="server" TargetControlID="pnlCanais"
                    Corners="All" BorderColor="#638CB5" Radius="10">
                </cc1:RoundedCornersExtender>
            </ItemTemplate>
        </asp:DataList>
        <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Enabled="true" Interval="2000"></asp:Timer>
        <br />
        <br />
    </ContentTemplate>
</asp:UpdatePanel>

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade nem da tempo da página ser carregada completamente você já manda ela se carregar de novo. Tem a necessidade de atualizar de 2 em 2 segundos?

Pense que isto representa uma consulta a cada dois segundos, dependendo do trafeco nem dará tempo de terminar a requisição direito e já começara outra.

Abraços...

Link para o comentário
Compartilhar em outros sites

  • 0

então Quintelab, eu não consulto a base de dados dentro do Timer, no evento Tick eu consulto uma porta socket que me retorna o status do registro, tipo "Ativo" ou "Inativo", meu evento do Timer inicia assim:

protected void Timer1_Tick(object sender, EventArgs e)
        {
            if (Session.Count == 0)
            {
                Response.Redirect("Login.aspx");
            }

            Timer1.Enabled = false;

Eu desabilito ele para não fazer uma solicitação em cima da outra, e só habilito quando termino de fazer a verificação, eu consegui monitorar o tempo que demora para finalizar todo esse evento Tick, e o tempo foi de em media 1 seg.

Achei estranho o fato da pagina la no rodape ficar como se tivesse carregando a cada 2 seg, imaginei que o UpdatePanel não deixaria isso acontecer...

Se fosse possivel eu jogar o UpdatePanel dentro apenas do ItemTemplate do DataList provavel que não ficaria tão lento...

Editado por VB6DeveloperJr
Link para o comentário
Compartilhar em outros sites

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...