Ejemplo n.º 1
0
        public void Should_be_able_to_cancel_message_sending_explicitly()
        {
            const string mmfName          = "Local\\test";
            var          messageCancelled = new EventWaitHandle(false, EventResetMode.ManualReset, mmfName + "_MessageCancelled");

            messageCancelled.Set();

            using (var messageReceiver = new MemoryMappedFileMessageSender(mmfName))
            {
                var task = new Task(() => messageReceiver.SendMessage(x => WriteString(x, "message")));

                task.Start();

                var isSet = true;

                while (isSet)
                {
                    isSet = messageCancelled.WaitOne(0);
                }

                messageReceiver.CancelMessage();

                task.Wait();
            }
        }
Ejemplo n.º 2
0
        public void Should_be_able_to_cancel_message_sending_explicitly()
        {
            const string mmfName = "Local\\test";
            var messageCancelled = new EventWaitHandle(false, EventResetMode.ManualReset, mmfName + "_MessageCancelled");

            messageCancelled.Set();

            using (var messageReceiver = new MemoryMappedFileMessageSender(mmfName))
            {
                var task = new Task(() => messageReceiver.SendMessage(x => WriteString(x, "message")));

                task.Start();

                var isSet = true;

                while (isSet)
                    isSet = messageCancelled.WaitOne(0);

                messageReceiver.CancelMessage();

                task.Wait();
            }
        }