CommandTimeout ne fonctionne pas

Je suis en train de modifier le délai d'attente pour un SqlCommand requête, dans une méthode qui teste ma connexion pour une chaîne de connexion. Le code est similaire à ceci:

using (SqlConnection connection = new SqlConnection(connectionString))
    {
      SqlCommand cmd = new SqlCommand("SELECT ...", connection);
      cmd.CommandTimeout = 10;
      connection.Open();
      SqlDataReader reader = cmd.ExecuteReader();
      ...
      connection.Close();
    }

Je voudrais avoir un court délai d'attente ici, car je veux juste tester si cette chaîne de connexion est ok.
Mais, quel que soit le nombre que j'CommandTimeout (j'ai essayé 0, 1, 2, 4, 10, 30, 60, 120), mon temps réel obtenu pour un mannequin de la chaîne de connexion est toujours le même (temps total de fonctionnement d'environ 15 secondes).

Donc, me semble que la valeur que j'CommandTimeout est ignorée pour une raison quelconque.

Des idées pourquoi?

source d'informationauteur Flávio Ivan