Вопрос от сертификационного экзамена:
Вы используете Microsoft Visual Studio 2010 и Microsoft .NET Framework 4 для создания приложения.
Приложение содержит следующий сегмент кода. (Номера строк приведены только для справки.)
01 class DataAccessLayer
02 {
03 private static string connString;
04
05 ...
06 public static DataTable GetDataTable(string command){
07
08 ...
09 }
10 }
Вам необходимо определить жизненный цикл соединения класса DataAccessLayer. Вы также должны убедиться, что приложение использует минимальное количество соединений с базой данных.
Что делать?
[A] Вставьте следующий сегмент кода в строку 04.
private static SqlConnection conn = new SqlConnection(connString);
public static void Open(){
conn.Open();
}
public static void Close(){
conn.Close();
}
[B] Вставить следующий сегмент кода в строку 04.
private SqlConnection conn = new SqlConnection(connString);
public void Open(){
conn.Open();
}
public void Close(){
conn.Close();
}
[C] Заменить строку 01 следующим сегментом кода.
class DataAccessLayer : IDisposable
Вставьте следующий сегмент кода в строку 04.
private SqlConnection conn = new SqlConnection(connString);
public void Open(){
conn.Open();
}
public void Dispose(){
conn.Close();
}
[D] Вставить следующий сегмент кода в строку 07.
using (SqlConnection conn = new SqlConnection(connString)){
conn.Open();
}
Некоторые люди утверждают, что правильный ответ - [D], но с моей точки зрения это не имеет смысла, потому что соединение открывается и сразу закрывается после блока «using».
Может ли кто-нибудь указать правильный ответ и объяснить, почему?
Спасибо !!!