Ho visto questo presentarsi diversi luoghi nel codice, non con una spiegazione, solo un commento criptico di sopra di essa (Dichiarazione e l'esecuzione inclusi per un'idea di contesto è solo una procedura standard di esecuzione di uno SqlCommand.):SqlCommand.Cancel() provoca un aumento delle prestazioni?
//SqlCommand cmd = new SqlCommand();
//cmd.ExecuteReader();
//Read off the results
//Cancel the command. This improves query time.
cmd.Cancel();
Fondamentalmente, dopo aver terminato una query, torna indietro e lo annulla, sostenendo un aumento delle prestazioni. Suppongo che potresti recuperare un po 'di memoria quando va e liberare XmlReader, ma di solito sta per uscire comunque.
Non mi sono mai preoccupato di farlo prima, ma alla fine è apparso in qualche codice che sto recensendo. Cancellare uno SqlCommand dopo averlo eseguito nel codice in qualche modo lo accelera, o è solo una strana superstizione del programmatore?
Hai profilato il codice? Sarebbe interessante vedere quanti effetti ha effettivamente. – jloubert
C'è un importante caso limite in cui chiamare Annulla fa una grande differenza - vedi la mia risposta sotto –