本文整理汇总了C#中Dispatcher.Dispatch方法的典型用法代码示例。如果您正苦于以下问题:C# Dispatcher.Dispatch方法的具体用法?C# Dispatcher.Dispatch怎么用?C# Dispatcher.Dispatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dispatcher
的用法示例。
在下文中一共展示了Dispatcher.Dispatch方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AndItShouldNotDoThat
public void AndItShouldNotDoThat()
{
var handlerActivator = new HandlerActivatorForTesting();
var pipelineInspector = new TrivialPipelineInspector();
var handleDeferredMessage = new MockDeferredMessageHandler();
var dispatcher = new Dispatcher(new InMemorySagaPersister(),
handlerActivator,
new InMemorySubscriptionStorage(),
pipelineInspector,
handleDeferredMessage,
null);
dispatcher.Dispatch(new TimeoutReply
{
CorrelationId = TimeoutReplyHandler.TimeoutReplySecretCorrelationId,
CustomData = TimeoutReplyHandler.Serialize(new Message { Id = "1" })
});
dispatcher.Dispatch(new TimeoutReply
{
CustomData = TimeoutReplyHandler.Serialize(new Message { Id = "2" })
});
handleDeferredMessage.DispatchedMessages.Count.ShouldBe(1);
var dispatchedMessage = handleDeferredMessage.DispatchedMessages[0];
dispatchedMessage.ShouldBeOfType<Message>();
((Message)dispatchedMessage).Id.ShouldBe("1");
}
示例2: AndItShouldNotDoThat
public void AndItShouldNotDoThat()
{
var handlerActivator = new HandlerActivatorForTesting();
var pipelineInspector = new TrivialPipelineInspector();
var handleDeferredMessage = Mock<IHandleDeferredMessage>();
var dispatcher = new Dispatcher(new InMemorySagaPersister(),
handlerActivator,
new InMemorySubscriptionStorage(),
pipelineInspector,
handleDeferredMessage);
dispatcher.Dispatch(new TimeoutReply
{
CorrelationId = TimeoutReplyHandler.TimeoutReplySecretCorrelationId,
CustomData = TimeoutReplyHandler.Serialize(new Message { Id = "1" })
});
dispatcher.Dispatch(new TimeoutReply
{
CustomData = TimeoutReplyHandler.Serialize(new Message { Id = "2" })
});
handleDeferredMessage.AssertWasCalled(x => x.Dispatch(Arg<Message>.Is.Anything), x => x.Repeat.Once());
handleDeferredMessage.AssertWasCalled(x => x.Dispatch(Arg<Message>.Matches(y => y.Id == "1")));
}
示例3: Simple
public void Simple()
{
var unity = new UnityContainer();
var tracker = new Tracker();
unity.RegisterInstance(tracker);
var registrator = new HandlerRegistrator(unity);
registrator.RegisterAssemblies(new[] { Assembly.GetExecutingAssembly() });
var dispatcher = new Dispatcher(unity, registrator);
var message = new SimpleMessage();
dispatcher.Dispatch(message);
var message2 = new SimpleMessage2();
dispatcher.Dispatch(message2);
Assert.AreEqual(2, tracker.Handlers.Count);
Assert.AreEqual(typeof(SimpleMessage), tracker.Handlers[0]);
Assert.AreEqual(typeof(SimpleMessage2), tracker.Handlers[1]);
}