| File: DotNetStreamReference.cs | Web Access |
| Project: src\aspnetcore\src\JSInterop\Microsoft.JSInterop\src\Microsoft.JSInterop.csproj (Microsoft.JSInterop) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.JSInterop; /// <summary> /// Represents the reference to a .NET stream sent to JavaScript. /// </summary> public sealed class DotNetStreamReference : IDisposable { /// <summary> /// Create a reference to a .NET stream sent to JavaScript. /// </summary> /// <param name="stream">The stream being sent to JavaScript.</param> /// <param name="leaveOpen">A flag that indicates whether the stream should be left open after transmission.</param> public DotNetStreamReference(Stream stream, bool leaveOpen = false) { Stream = stream ?? throw new ArgumentNullException(nameof(stream)); LeaveOpen = leaveOpen; } /// <summary> /// The stream being sent to JavaScript. /// </summary> public Stream Stream { get; } /// <summary> /// A flag that indicates whether the stream should be left open after transmission. /// </summary> public bool LeaveOpen { get; } /// <inheritdoc /> public void Dispose() { if (!LeaveOpen) { Stream.Dispose(); } } }