DbDataReader.DisposeAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Libera de forma asincrónica todos los recursos que usa la instancia actual de la clase DbDataReader.
public:
virtual System::Threading::Tasks::ValueTask DisposeAsync();
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
override this.DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Overridable Function DisposeAsync () As ValueTask
Devoluciones
Tarea ValueTask que representa la operación asincrónica.
Implementaciones
Comentarios
Llame a Dispose
o DisposeAsync
cuando haya terminado de usar .DbDataReader La llamada a uno de estos métodos deja en DbDataReader un estado inutilizable. Después de eliminar, debe liberar todas las referencias a DbDataReader para que el recolector de elementos no utilizados pueda reclamar la memoria que DbDataReader estaba ocupando.
Para obtener más información, vea Limpieza de recursos no administrados e Implementación de un método Dispose.
Nota
Elimine siempre antes de liberar la última referencia a .DbDataReader En caso contrario, los recursos que está usando no se liberarán hasta que el recolector de elementos no utilizados llame al método DbDataReader del objeto Finalize
.
La implementación predeterminada de este método asincrónico delega a su homólogo sincrónico y devuelve un objeto completado ValueTask
, lo que podría bloquear el subproceso que realiza la llamada.
Los proveedores de datos que admiten programación asincrónica deben invalidar la implementación predeterminada mediante operaciones de E/S asincrónicas.
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por Dispose().