SqlCommand.CommandTimeout SqlCommand.CommandTimeout SqlCommand.CommandTimeout SqlCommand.CommandTimeout Property

Definición

Obtiene o establece el tiempo de espera antes de terminar el intento de ejecutar un comando y generar un error.Gets or sets the wait time before terminating the attempt to execute a command and generating an error.

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

Valor de propiedad

El tiempo en segundos que se ha de esperar para que se ejecute el comando.The time in seconds to wait for the command to execute. El valor predeterminado es 30 segundos.The default is 30 seconds.

Implementaciones

Comentarios

Un valor de 0 indica que no hay límite (un intento de ejecutar un comando esperará indefinidamente).A value of 0 indicates no limit (an attempt to execute a command will wait indefinitely).

Nota

La CommandTimeout propiedad se omitirá durante las llamadas asincrónicas al método BeginExecuteReadercomo.The CommandTimeout property will be ignored during asynchronous method calls such as BeginExecuteReader.

CommandTimeoutno tiene ningún efecto cuando el comando se ejecuta en una conexión de contexto SqlConnection (una abierta con "context Connection = true" en la cadena de conexión).CommandTimeout has no effect when the command is executed against a context connection (a SqlConnection opened with "context connection=true" in the connection string).

Nota

Esta propiedad es el tiempo de espera acumulado (para todos los paquetes de red que se leen durante la invocación de un método) para todas las lecturas de red durante la ejecución del comando o el procesamiento de los resultados.This property is the cumulative time-out (for all network packets that are read during the invocation of a method) for all network reads during command execution or processing of the results. Todavía puede producirse un tiempo de espera una vez que se devuelve la primera fila y no incluye el tiempo de procesamiento del usuario, solo la hora de lectura de la red.A time-out can still occur after the first row is returned, and does not include user processing time, only network read time.

Por ejemplo, con un tiempo de espera de 30 segundos Read , si requiere dos paquetes de red, tiene 30 segundos para leer ambos paquetes de red.For example, with a 30 second time out, if Read requires two network packets, then it has 30 seconds to read both network packets. Si llama Read de nuevo, tendrá otros 30 segundos para leer los datos que requiera.If you call Read again, it will have another 30 seconds to read any data that it requires.

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);  
         }  
      }  
   }  
}  

Se aplica a

Consulte también: