2012-12-19 3 views
0

내 응용 프로그램에서 다음과 같은 오류가 발생했습니다.연결 최대 풀 크기에 도달

"모두 풀링 연결이 사용되었고 최대 풀 크기에 도달했기 때문에, 제한 시간이 만료. 타임 아웃 기간이 이전의 풀에서 연결 구하기 경과.이 발생했을 수 있습니다."

어떤 생각이든 나는 단지 컴파일을 디버그 = "true"로 변경했지만 web.config에서는 컴파일을 debug = "false"로 변경했습니다.

문제가 갑자기 사라졌습니다. 컴파일 디버그와 풀 크기 사이에 어떤 연결이 있습니까?

+1

건이며, 응용 프로그램 풀 재활용 그것을 다시 설정됩니다 전체 응용 프로그램. 나는 모든 db 연결, 독자를 찾아 가서 모든 것이 성공하거나 예외적으로 닫히는 지 확인해야한다. –

답변

2

연결이 누출되는 것처럼 보입니다. 사용 후 항상 연결을 닫고 처분하는 것이 중요합니다. 그렇지 않으면 연결 풀로 반환되지 않습니다 (또는 너무 느리게 반환 됨).

만들기 슈어 당신은 항상 같은 연결을 문을 사용하여이 : 당신의 Web.config에서 아무것도 변경하고 저장하면

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    SqlCommand command = connection.CreateCommand(); 

    command.CommandText = "mysp_GetValue"; 
    command.CommandType = CommandType.StoredProcedure; 

    connection.Open(); 
    object ret = command.ExecuteScalar(); 
} 

More information here