DbDataReader.DisposeAsync Method

Definition

Asynchronously releases all resources used by the current instance of the DbDataReader class.

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

Returns

A ValueTask representing the asynchronous operation.

Implements

Remarks

Call Dispose or DisposeAsync when you've finished using the DbDataReader. Calling one of these methods leaves the DbDataReader in an unusable state. After disposing, you must release all references to the DbDataReader so the garbage collector can reclaim the memory that the DbDataReader was occupying.

For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

Note

Always dispose before you release your last reference to the DbDataReader. Otherwise, the resources it is using will not be freed until the garbage collector calls the DbDataReader object's Finalize method.

The default implementation of this asynchronous method delegates to its synchronous counterpart and returns a completed ValueTask, potentially blocking the calling thread.

Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

This method stores in the task it returns all non-usage exceptions that the method's synchronous counterpart can throw. If an exception is stored into the returned task, that exception will be thrown when the task is awaited. Usage exceptions, such as ArgumentException, are still thrown synchronously. For the stored exceptions, see the exceptions thrown by Dispose().

Applies to