none
time out na aplicação RRS feed

  • Pergunta

  • bom dia,

    Pessoal tenho uma aplicação feito no aspx, c#, e utilizo sql server.

    so que por vezes ele da time out (AS VEZES, e numa operação que normalmente funciona bem), as  vezes não consigo fazer nem login na aplicação.

    fiquei com a  sensação de que o servidor não responde nesse momento, mas coloco o endereço de outra aplicação que esta no mesmo servidor e funciona perfeito (como disse acima estranhamente as vezes vem a tela de login e da time out quando tento fazer login).


    agora vamos as questões.
    o que pode estar na origem deste problema?
    como resolve-la? 


    ps: isso porque acontece as vezes, e estou preste a colocar a aplicação em produção (para uso interno). e pode não acontecer até que eu ponha a aplicação em produção e o problema em a tona.

    segunda-feira, 20 de fevereiro de 2012 11:03

Respostas

  • resolvido o problema, é que a conexão estava fechado depois do return, e por isso não funciona simplesmente porque o que esta depois do return não é executado.

    • Marcado como Resposta desabi quinta-feira, 23 de fevereiro de 2012 11:55
    quinta-feira, 23 de fevereiro de 2012 11:55

Todas as Respostas


  •         public List<detalhe> Todas_Ficha_Atendimento(string data)
            {
                detalhe detalhe = null;
                List<detalhe> lista = new List<detalhe>();

                string strCmm;

                strCmm = "select *,CONVERT(VARCHAR(11),hora_atendimento,108) AS HORA from ficha_atendimento WHERE CONVERT(nvarchar(10), hora_atendimento, 105) = ";
                strCmm += "'" + data + "' ORDER BY HORA DESC";

                //Abrir conecção
                SqlConnection conn = new SqlConnection(strCnx);
                conn.Open();

                //Executar Query
                SqlDataReader Dr;
                SqlCommand comm = new SqlCommand(strCmm, conn);
                Dr = comm.ExecuteReader();  // comm.ExecuteNonQuery();

                while (Dr.Read())
                {
                    detalhe = new detalhe(Dr["numero_cliente"].ToString(),
                                           Dr["nome_cliente"].ToString(),
                                           Dr["HORA"].ToString(),
                                           Dr["servico"].ToString(),
                                           Dr["informacao_reclamacao"].ToString(),
                                           Dr["nome_operador_call_center"].ToString(),
                                           Dr["descricao"].ToString()
                                           );
                    lista.Add(detalhe);
                }
                return lista;
                //Fechar conecção
                comm.Dispose();
                conn.Close();
            }

    pessoal em cima esta uma das minha consultas  a base de dados. e no COMM:DISPOSE(); notei que estou tendo um WARNING:(unreachable code detected).será esta a causa de as vezes estou tendo o time out? é o que pensei. preciso de uma ajudinha vossa. please.                         ps: se prrecisarem demais informação é so dizer.

    ps: tb se é o COMM:DISPOSE(); não sei como resolve - la.

    • Editado desabi terça-feira, 21 de fevereiro de 2012 11:46
    terça-feira, 21 de fevereiro de 2012 09:33
  • minguém?
    terça-feira, 21 de fevereiro de 2012 11:40
  • pessoal meu string de coneção:

    antes eu tinha assim:

    string strCnx = "Data Source=sqlserver.empresa.cv;Initial Catalog=Teste_BD;Persist Security Info=True;User ID=SP;Password=barça789?";


    depois acrescentei isso" Pooling=true; Min Pool Size=0; Max Pool Size=120; " mais não resolveu o problema agora esta assim:

    string strCnx = "Data Source=sqlserver.empresa.cv;Initial Catalog=Teste_BD;Persist Security Info=True;Pooling=true; Min Pool Size=0;

    Max Pool Size=120;User ID=SP;Password=barça789?";


    • Editado desabi terça-feira, 21 de fevereiro de 2012 12:08
    terça-feira, 21 de fevereiro de 2012 12:07
  • resolvido o problema, é que a conexão estava fechado depois do return, e por isso não funciona simplesmente porque o que esta depois do return não é executado.

    • Marcado como Resposta desabi quinta-feira, 23 de fevereiro de 2012 11:55
    quinta-feira, 23 de fevereiro de 2012 11:55