IAsyncDisposable.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í.
Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados de forma asincrónica.
public:
System::Threading::Tasks::ValueTask DisposeAsync();
public System.Threading.Tasks.ValueTask DisposeAsync ();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Function DisposeAsync () As ValueTask
Devoluciones
Tarea que representa la operación de descarte asincrónica.
Comentarios
Use este método para cerrar o liberar de forma asincrónica recursos no administrados, como archivos, secuencias y identificadores mantenidos por una instancia de la clase que implementa esta interfaz. El uso de este método en lugar de IDisposable.Dispose le permite realizar una operación de eliminación intensiva de recursos sin bloquear el subproceso principal de una aplicación de GUI durante mucho tiempo.
Advertencia
Si usa una clase que implementa la IAsyncDisposable interfaz, debe llamar a su DisposeAsync
implementación cuando haya terminado de usar la clase . Para obtener más información, vea la sección "Uso de un objeto que implementa IAsyncDisposable" en el IAsyncDisposable tema.
Al implementar este método, asegúrese de que todos los recursos retenidos se liberen propagando la llamada a través de la jerarquía de contención. Por ejemplo, si un objeto A asigna un objeto B y el objeto B asigna un objeto C, la implementación de DisposeAsync
A debe llamar a DisposeAsync
en B, que a su vez debe llamar a DisposeAsync
C. Un objeto también debe llamar al DisposeAsync
método de su clase base si la clase base implementa IAsyncDisposable.
Si se llama al método de DisposeAsync
un objeto más de una vez, el objeto debe omitir todas las llamadas después de la primera y devolver de forma sincrónica una operación completada ValueTaskcorrectamente. El objeto no debe producir una excepción si se llama a su DisposeAsync
método varias veces. Los métodos de instancia distintos DisposeAsync
de pueden producir una ObjectDisposedException excepción cuando ya se eliminan los recursos.