using System; using System.IO; using System.IO.Pipes; using System.Runtime.CompilerServices; namespace Gestor.Application.Helpers { public class PipeClient { private string _pipeName; private NamedPipeClientStream Pipe { get; set; } public PipeClient(string pipeName) { this._pipeName = pipeName; } public bool Send(dynamic message) { bool flag; try { this.Pipe = new NamedPipeClientStream(".", this._pipeName, PipeDirection.Out, PipeOptions.Asynchronous); this.Pipe.Connect(1000); if (this.Pipe.IsConnected) { using (StreamWriter streamWriter = new StreamWriter(this.Pipe)) { streamWriter.AutoFlush = true; streamWriter.WriteLine(JsonConvert.SerializeObject(message)); this.Pipe.WaitForPipeDrain(); } return true; } else { flag = false; } } catch (TimeoutException timeoutException) { flag = false; } return flag; } } }