/// <summary> /// Dispose internal <see cref="PipeStream"/> /// </summary> public async ValueTask DisposeAsync() { #if NETSTANDARD2_0 BaseStream.Dispose(); await Task.Delay(0).ConfigureAwait(false); #else await BaseStream.DisposeAsync().ConfigureAwait(false); #endif SemaphoreSlim.Dispose(); }
/// <summary> /// Dispose internal <see cref="PipeStream"/> /// </summary> public async ValueTask DisposeAsync() { #if NETSTANDARD2_0 BaseStream.Dispose(); #else await BaseStream.DisposeAsync().ConfigureAwait(false); #endif // This is redundant, just to avoid mistakes and follow the general logic of Dispose await Reader.DisposeAsync().ConfigureAwait(false); await Writer.DisposeAsync().ConfigureAwait(false); }