public static async Task NamedPipeMessagesAreSentAndReceived() { using var waitHandle = new AutoResetEvent(false); using var receiver = new NamedPipeReceiver("foo", "test-pipe"); var payload = string.Empty; var headerValue = string.Empty; receiver.Start(async m => { payload = m.StringPayload; headerValue = m.Headers.GetValue <string>("bar"); await m.AcknowledgeAsync().ConfigureAwait(false); waitHandle.Set(); }); using (var sender = new NamedPipeSender("foo", "test-pipe")) { await sender.SendAsync(new SenderMessage("Hello, world!") { Headers = { { "bar", "abc" } } }).ConfigureAwait(false); waitHandle.WaitOne(); } Assert.Equal("Hello, world!", payload); Assert.Equal("abc", headerValue); }
public void NamedPipeMessagesAreSentAndReceived() { var waitHandle = new AutoResetEvent(false); using (var receiver = new NamedPipeReceiver("foo", "test-pipe")) { string payload = null; string headerValue = null; receiver.Start(async m => { payload = m.StringPayload; headerValue = m.Headers.GetValue <string>("bar"); await m.AcknowledgeAsync(); waitHandle.Set(); }); using (var sender = new NamedPipeSender("foo", "test-pipe")) { sender.Send(new SenderMessage("Hello, world!") { Headers = { { "bar", "abc" } } }); } waitHandle.WaitOne(); Assert.Equal("Hello, world!", payload); Assert.Equal("abc", headerValue); } }
private void RefreshReceiver() { if (messageReceiver != null) { messageReceiver.Dispose(); } messageReceiver = new NamedPipeReceiver(SENDERPIPENAME); Log("Opening " + SENDERPIPENAME); messageReceiver.newRequestEvent += OnNewMessage; }