SqlCommand.CommandTimeout Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el tiempo de espera (en segundos) hasta que se interrumpe el intento de ejecutar un comando y se genera un error. El valor predeterminado es 30 segundos.
public:
virtual property int CommandTimeout { int get(); void set(int value); };
public override int CommandTimeout { get; set; }
member this.CommandTimeout : int with get, set
Public Overrides Property CommandTimeout As Integer
Valor de propiedad
El tiempo en segundos que se ha de esperar para que se ejecute el comando. El valor predeterminado es 30 segundos.
Excepciones
El valor establecido es menor que 0.
Comentarios
Un valor de 0 indica que no hay límite (un intento de ejecutar un comando esperará indefinidamente).
Nota:
La CommandTimeout propiedad se omitirá durante las llamadas de método asincrónico de estilo anterior, como BeginExecuteReader. Los métodos asincrónicos más recientes, como ExecuteReaderAsync.
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. Un tiempo de espera puede producirse después de que se devuelva la primera fila y no incluye el tiempo de procesamiento del usuario, solo el tiempo de lectura de red.
Por ejemplo, con un tiempo de espera de 30 segundos, si Read requiere dos paquetes de red, tiene 30 segundos para leer ambos paquetes de red. Si llama Read de nuevo, tendrá otros 30 segundos para leer los datos que requiera.
// <Snippet1>
using System;
using Microsoft.Data.SqlClient;
public class A
{
public static void Main()
{
string connectionString = "<Your-connection-string-here>";
// 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);
}
}
}
}
// </Snippet1>