문제

방금 첫 번째 ASP.NET (VB.NET 학습의 일환으로)을 업로드하고 연결 풀링 (웹 사이트의 1 개 이상의 사용자가 2 개 이상있을 때 재미있는 일이 발생)에 끔찍한 엉망이되었습니다. Try Catch 문 (아이디어는 배우는 것이 었습니다)이지만 이것이 최고의 / 최종 방법인지 궁금했습니다. 이제 시도가 실패하면 페이지의 많은 세부 사항이 배치 / 업데이트되지 않으므로 당신은 일부 데이터베이스 작업을 수행하고 시도가 실패하고, 페이지를 다시로드하고 ... 다음에 스스로 작동하고 다음 번에 작동하기를 바랍니다. 아니면 사용자에게 오류가 있으면 다시 시도해야합니까?

감사

도움이 되었습니까?

해결책

당신은 확실하게 사용해야합니다 'using'구현하는 모든 개체에 대한 진술 IDisposable (연결 및 독자와 같은). '사용'명령문은 덮개 아래에서 트러블 블록으로 변환되며 오류가 발생하더라도 Dispose ()가 호출되도록합니다.

코드 스 니펫 예는 다음과 같습니다.

using (SqlConnection conn = new SqlConnection(this.connectionString))
{
    using (SqlCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = "LoadFromRepository";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@ID", fileID);

        conn.Open();
        using (SqlDataReader rdr =
                   cmd.ExecuteReader(CommandBehavior.CloseConnection))
        {
            while (rdr.Read())
            {
                // do something with read data
            }
        }
    }
}

다른 팁

예상치 못한 오류가 발생하면 다음 번에 발생할 수 있으므로 사용자를 오류 페이지로 리디렉션하십시오.

DB 연결 및 독자에 대한 "사용"진술을 살펴 보셨습니까?

나는 결코 자동으로 리디렉션되지 않으며 다음 번에 작동하기를 바랍니다 (무한 루프에 들어갈 수 있습니다).

사용자에게 알리고 선택적으로 링크에 다시 시도하십시오.

예외를 분석하여 다른 시도가 도움이 될지 확인하고 싶을 수도 있습니다. 일부 예외는 실제로 버그이며 다른 시도는 도움이되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top