Я использую следующий метод в классе - который я вызываю со страницы .cs, заполняя устройство чтения данных:
public static SqlDataReader getinfo(string username, string url)
{
//Initialise connection, string stored in Web.config
SqlConnection conNs = new SqlConnection(ConfigurationManager.ConnectionStrings["conNs"].ConnectionString);
SqlCommand cmdNs = new SqlCommand("usp_getinfo", conNs);
cmdNs.CommandType = CommandType.StoredProcedure;
cmdNs.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar, 50));
cmdNs.Parameters["@username"].Value = username;
cmdNs.Parameters.Add(new SqlParameter("@url", SqlDbType.VarChar, 50));
cmdNs.Parameters["@url"].Value = url;
//Execute Command
conNs.Open();
SqlDataReader dr = cmdNs.ExecuteReader(CommandBehavior.CloseConnection);
//Return data
return dr;
}
Уведомление 'commendbehavior.closeconnection'.
Затем в .csСтраница, которую я называю так:
SqlDataReader drInfo = dataAccess.getinfo(username, url);
//do some stuff
drInfo.Close();
Это тоже должно закрывать соединение?
У меня проблема с заполнением аппулы открытыми соединениями.Есть ли проблема с моей техникой?
Скорость - мой приоритет здесь.
Спасибо