Nito.Disposables.SingleAsyncDisposable<T>
A base class for disposables that need exactly-once semantics in a thread-safe way. All disposals of this instance block until the disposal is complete.
Whether this instance is disposed (finished disposing).
Whether this instance is currently disposing or has been disposed.
Whether this instance is currently disposing, but not finished yet.
Creates a disposable for the specified context.
The actul disposal method, called only once from DisposeAsync.
Disposes this instance.
Attempts to update the stored context. This method returns false if this instance has already been disposed (or is being disposed).