public void Test_FlushMessages() { TestMessage msg; TestMessage msg1 = new TestMessage(); TestMessage msg2 = new TestMessage(); using (DeferredChannelMessageContext outerContext = new DeferredChannelMessageContext()) { outerContext.AddOrUpdateMessage("Channel1", msg1, null); outerContext.AddOrUpdateMessage("Channel2", msg2, null); Assert.That(outerContext.TryGetMessage("Channel1", out msg), Is.True, "Outer context missing msg"); Assert.AreSame(msg, msg1); Assert.That(outerContext.TryGetMessage("Channel2", out msg), Is.True, "Outer context missing msg"); Assert.AreSame(msg, msg2); outerContext.FlushMessages(); Assert.That(outerContext.TryGetMessage("Channel1", out msg), Is.False, "Outer context contains msg"); Assert.That(outerContext.TryGetMessage("Channel2", out msg), Is.False, "Outer context contains msg"); } }
/// <summary> /// Flush any deferred messages. /// </summary> private void FlushDeferredMessageContextMessages() { if (!DeferredChannelMessageContext.IsSet()) { return; } using (DeferredChannelMessageContext messageContext = DeferredChannelMessageContext.GetContext()) { messageContext.FlushMessages(); } }