Mi método que llama a SQL Server devuelve un DataReader
pero debido a lo que tengo que hacer, que es devolver el DataReader
al método de llamada que reside en un código de página detrás, no puedo cerrar la conexión en la clase del método que llama al servidor SQL. Debido a esto, no tengo finalmente ni uso de bloques.¿Debo implementar IDisposable aquí?
¿Es la forma correcta de eliminar los recursos para que la clase implemente IDisposable
? Alternativamente, ¿debería disponer explícitamente el recurso no gestionado (campos de nivel de clase) de la persona que llama?
EDIT: yo enviaré la datareader volver porque necesito para enlazar datos específicos de la datareader a un control listitem, por lo que en la clase de llamada (Codebehind página), que hago:
new ListItem(datareader["dc"]); (along those lines).
¿Por qué desea enviar el lector de datos a la página? – Perpetualcoder
Devolver el DataReader directamente puede ser una mala práctica, pero puede serle útil en algunos casos. – Venemo
@Venemo - Creo que http://stackoverflow.com/questions/2867661/should-i-implement-disposable-here/2869503#2869503 podría servirle mejor. – dss539