IAsyncDisposable.DisposeAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Realiza tarefas definidas pela aplicação associadas à libertação, libertação ou reinício de recursos não geridos de forma assíncrona.
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
Devoluções
Uma tarefa que representa a operação de descarte assíncrona.
Observações
Use este método para fechar ou libertar de forma assíncrona recursos não geridos, como ficheiros, fluxos e handles detidos por uma instância da classe que implementa esta interface. Usar este método permite-lhe IDisposable.Dispose realizar uma operação de eliminação intensiva em recursos sem bloquear o thread principal de uma aplicação GUI durante muito tempo.
Warning
Se estiveres a usar uma classe que implementa a IAsyncDisposable interface, deves chamar a sua DisposeAsync implementação quando terminares de usar a classe. Para mais informações, consulte a secção "Usar um objeto que implementa IAsyncDisposable" no IAsyncDisposable tópico.
Ao implementar este método, certifique-se de que todos os recursos detidos são libertados, propagando a chamada através da hierarquia de contenção. Por exemplo, se um objeto A aloca um objeto B, e o objeto B aloca um objeto C, então a implementação de DisposeAsync A deve invocar DisposeAsync B, que por sua vez deve chamar DisposeAsync C. Um objeto deve também chamar o DisposeAsync método da sua classe base se a classe base implementar IAsyncDisposable.
Se o DisposeAsync método de um objeto for chamado mais do que uma vez, o objeto deve ignorar todas as chamadas após a primeira e devolver síncronicamente um .ValueTask O objeto não deve lançar uma exceção se seu método DisposeAsync for chamado várias vezes. Métodos de instância diferentes de DisposeAsync podem lançar um ObjectDisposedException quando os recursos já estão disponíveis.