다음을 통해 공유


SqlCommand.CommandTimeout 속성

정의

명령 실행 시도를 종료하고 오류를 생성하기 전에 대기 시간(초)을 가져오거나 설정합니다.

public:
 virtual property int CommandTimeout { int get(); void set(int value); };
public:
 property int CommandTimeout { int get(); void set(int value); };
public override int CommandTimeout { get; set; }
[System.Data.DataSysDescription("DbCommand_CommandTimeout")]
public int CommandTimeout { get; set; }
member this.CommandTimeout : int with get, set
[<System.Data.DataSysDescription("DbCommand_CommandTimeout")>]
member this.CommandTimeout : int with get, set
Public Overrides Property CommandTimeout As Integer
Public Property CommandTimeout As Integer

속성 값

명령이 실행되기를 기다리는 시간(초)입니다. 기본값은 30초입니다.

구현

특성

설명

값이 0이면 제한이 없음을 나타냅니다(명령을 실행하려는 시도는 무기한 대기합니다).

메모

속성은 CommandTimeout 같은 이전 APM(비동기 프로그래밍 모델) 비동기 메서드 호출 BeginExecuteReader에서 무시됩니다. 최신 TAP(작업 비동기 프로그래밍) 메서드(예: ExecuteReaderAsync.)가 적용됩니다.

CommandTimeout 는 컨텍스트 연결에 대해 명령이 실행될 때 영향을 주지 않습니다( SqlConnection 연결 문자열에서 "context connection=true"로 열린 경우).

메모

이 속성은 명령 실행 또는 결과 처리 중 모든 네트워크 읽기에 대한 누적 제한 시간(메서드 호출 중에 읽는 모든 네트워크 패킷의 경우)입니다. 첫 번째 행이 반환된 후에도 제한 시간이 계속 발생할 수 있으며 사용자 처리 시간은 포함하지 않으며 네트워크 읽기 시간만 포함됩니다.

예를 들어 30초 제한 시간이 초과되면 두 개의 네트워크 패킷이 필요한 경우 Read 두 네트워크 패킷을 모두 읽는 데 30초가 소요됩니다. 다시 호출 Read 하면 필요한 데이터를 읽는 데 30초가 더 걸립니다.

using System;
using System.Data.SqlClient;
///
public class A {
   ///
   public static void Main() {
      string connectionString = "";
      // Wait for 5 second delay in the command
      string queryString = "waitfor delay '00:00:05'";
      using (SqlConnection connection = new SqlConnection(connectionString)) {
         connection.Open();
         SqlCommand command = new SqlCommand(queryString, connection);
         // Setting command timeout to 1 second
         command.CommandTimeout = 1;
         try {
            command.ExecuteNonQuery();
         }
         catch (SqlException e) {
            Console.WriteLine("Got expected SqlException due to command timeout ");
            Console.WriteLine(e);
         }
      }
   }
}

적용 대상

추가 정보