本文整理汇总了C#中IMediator.Publish方法的典型用法代码示例。如果您正苦于以下问题:C# IMediator.Publish方法的具体用法?C# IMediator.Publish怎么用?C# IMediator.Publish使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IMediator
的用法示例。
在下文中一共展示了IMediator.Publish方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialise
// should be called when parent is first created.
public virtual Parent Initialise(IMediator mediator)
{
if (mediator == null) throw new ArgumentNullException(nameof(mediator));
this.ActivationKey = Guid.NewGuid().ToString();
mediator.Publish(new NewParentCreatedEvent(this));
return this;
}
示例2: Run
public static async Task Run(IMediator mediator, TextWriter writer)
{
await writer.WriteLineAsync("Sample mediator implementation using send, publish and post-request handlers in sync and async version.");
await writer.WriteLineAsync("---------------");
await writer.WriteLineAsync("Sending Ping...");
var pong = await mediator.Send(new Ping { Message = "Ping" });
await writer.WriteLineAsync("Received: " + pong.Message);
await writer.WriteLineAsync("Sending Ping async...");
var response = await mediator.Send(new PingAsync { Message = "Ping" });
await writer.WriteLineAsync("Received async: " + response.Message);
await writer.WriteLineAsync("Publishing Pinged...");
await mediator.Publish(new Pinged());
await writer.WriteLineAsync("Publishing Pinged async...");
await mediator.Publish(new PingedAsync());
}
示例3: Run
public static void Run(IMediator mediator, TextWriter writer)
{
writer.WriteLine("Sample mediator implementation using send, publish and post-request handlers in sync and async version.");
writer.WriteLine("---------------");
writer.WriteLine("Sending Ping...");
var pong = mediator.Send(new Ping { Message = "Ping" });
writer.WriteLine("Received: " + pong.Message);
writer.WriteLine("Sending Ping async...");
var response = mediator.SendAsync(new PingAsync { Message = "Ping" });
Task.WaitAll(response);
writer.WriteLine("Received async: " + response.Result.Message);
writer.WriteLine("Publishing Pinged...");
mediator.Publish(new Pinged());
writer.WriteLine("Publishing Pinged async...");
var publishResponse = mediator.PublishAsync(new PingedAsync());
Task.WaitAll(publishResponse);
}
示例4: SendMessage
public virtual void SendMessage(string text, IMediator mediator)
{
if (mediator == null) throw new ArgumentNullException(nameof(mediator));
this.Messages.Add(new Message(DateTime.Now.Date, text, this));
this.RemoveOldMessages();
mediator.Publish(new SendMessageEvent(this, text));
}