Я видел, как это показывало несколько мест в коде, никогда с объяснением, просто критический комментарий над ним (декларация и исполнение включены для идеи контекста. Это просто стандартная процедура запуска SqlCommand):
//SqlCommand cmd = new SqlCommand();
//cmd.ExecuteReader();
//Read off the results
//Cancel the command. This improves query time.
cmd.Cancel ();
В принципе, после завершения запроса он возвращается и отменяет его, требуя некоторого повышения производительности. Я предполагаю, что вы можете получить некоторую память обратно, когда она идет, и освобождает XmlReader, но обычно она собирается выйти из области в любом случае.
Я никогда не беспокоился об этом раньше, но он, наконец, появился в коде, который я просматриваю. Отменяет ли SqlCommand после запуска его в коде на самом деле как-то ускоряет его, или это просто какое-то странное предсказание программиста?