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

Definition

Ruft die Zeit ab, die gewartet werden soll, bis der Versuch einer Befehlsausführung beendet und ein Fehler generiert wird, oder legt diese fest.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

Eigenschaftswert

Die Dauer in Sekunden, für die auf die Ausführung des Befehls gewartet werden soll.The time in seconds to wait for the command to execute. Der Standardwert ist 30 Sekunden.The default is 30 seconds.

Implementiert

Hinweise

Der Wert 0 gibt an, dass keine Beschränkung besteht (bei dem Versuch, einen Befehl auszuführen, wird unbegrenzt gewartet).A value of 0 indicates no limit (an attempt to execute a command will wait indefinitely).

Hinweis

Die CommandTimeout -Eigenschaft wird bei asynchronen Methoden aufrufen BeginExecuteReaderwie ignoriert.The CommandTimeout property will be ignored during asynchronous method calls such as BeginExecuteReader.

CommandTimeouthat keine Auswirkung, wenn der Befehl für eine Kontext Verbindung ausgeführt wird ( SqlConnection eine mit "context connection = true" in der Verbindungs Zeichenfolge geöffnet).CommandTimeout has no effect when the command is executed against a context connection (a SqlConnection opened with "context connection=true" in the connection string).

Hinweis

Diese Eigenschaft ist das kumulative Timeout (für alle während des Aufforderungs aufgelesenen Netzwerkpakete) für alle Netzwerk Lesevorgänge während der Befehlsausführung oder Verarbeitung der Ergebnisse.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. Ein Timeout kann weiterhin auftreten, nachdem die erste Zeile zurückgegeben wurde, und umfasst keine Benutzer Verarbeitungszeit, sondern nur die Netzwerk Lese Zeit.A time-out can still occur after the first row is returned, and does not include user processing time, only network read time.

Wenn Read z. b. bei einem 30-Sekunden-Timeout zwei Netzwerkpakete erforderlich sind, beträgt das Lesen beider Netzwerkpakete 30 Sekunden.For example, with a 30 second time out, if Read requires two network packets, then it has 30 seconds to read both network packets. Wenn Sie erneut Read einen Rückruf ausführen, wird ein weiterer Wert von 30 Sekunden benötigt, um die benötigten Daten zu lesen.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);  
         }  
      }  
   }  
}  

Gilt für:

Siehe auch