SqlCommand.CommandTimeout Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur waktu tunggu (dalam detik) sebelum mengakhiri upaya untuk menjalankan perintah dan menghasilkan kesalahan. Defaultnya adalah 30 detik.
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
Nilai Properti
Waktu dalam detik untuk menunggu perintah dijalankan. Defaultnya adalah 30 detik.
Pengecualian
Nilai yang ditetapkan kurang dari 0.
Keterangan
Nilai 0 menunjukkan tidak ada batas (upaya untuk menjalankan perintah akan menunggu tanpa batas waktu).
Catatan
Properti CommandTimeout akan diabaikan selama panggilan metode asinkron gaya lama seperti BeginExecuteReader. Ini akan dihormati oleh metode asinkron yang lebih baru seperti ExecuteReaderAsync.
Catatan
Properti ini adalah batas waktu kumulatif (untuk semua paket jaringan yang dibaca selama pemanggilan metode) untuk semua pembacaan jaringan selama eksekusi perintah atau pemrosesan hasil. Waktu habis masih dapat terjadi setelah baris pertama dikembalikan, dan tidak termasuk waktu pemrosesan pengguna, hanya waktu baca jaringan.
Misalnya, dengan waktu habis 30 detik, jika Read memerlukan dua paket jaringan, maka memiliki waktu 30 detik untuk membaca kedua paket jaringan. Jika Anda memanggil Read lagi, itu akan memiliki 30 detik lagi untuk membaca data apa pun yang diperlukan.
// <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>