mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-22 17:47:53 +00:00
44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using System.IO;
|
|
using System.IO.Pipes;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Microsoft.AspNetCore.NodeServices.HostingModels.PhysicalConnections
|
|
{
|
|
internal class NamedPipeConnection : StreamConnection
|
|
{
|
|
private bool _disposedValue = false;
|
|
private NamedPipeClientStream _namedPipeClientStream;
|
|
|
|
#pragma warning disable 1998 // Because in the NET451 code path, there's nothing to await
|
|
public override async Task<Stream> Open(string address)
|
|
{
|
|
_namedPipeClientStream = new NamedPipeClientStream(
|
|
".",
|
|
address,
|
|
PipeDirection.InOut,
|
|
PipeOptions.Asynchronous);
|
|
|
|
#if NET451
|
|
_namedPipeClientStream.Connect();
|
|
#else
|
|
await _namedPipeClientStream.ConnectAsync().ConfigureAwait(false);
|
|
#endif
|
|
|
|
return _namedPipeClientStream;
|
|
}
|
|
#pragma warning restore 1998
|
|
|
|
public override void Dispose()
|
|
{
|
|
if (!_disposedValue)
|
|
{
|
|
if (_namedPipeClientStream != null)
|
|
{
|
|
_namedPipeClientStream.Dispose();
|
|
}
|
|
|
|
_disposedValue = true;
|
|
}
|
|
}
|
|
}
|
|
} |