- public class PublishObserver : IPublishObserver
- {public Task PrePublish<T>(PublishContext<T> context) where T : class
- {
- Console.WriteLine("------------------PrePublish--------------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("----------------------------------------------------");
- return Task.CompletedTask;
- }
- public Task PostPublish<T>(PublishContext<T> context) where T : class
- {
- Console.WriteLine("------------------PostPublish--------------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("----------------------------------------------------");
- return Task.CompletedTask;
- }
- public Task PublishFault<T>(PublishContext<T> context, Exception exception) where T : class
- {
- Console.WriteLine("------------------PublishFault--------------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("------------------------------------------------------");
- return Task.CompletedTask;
- }
- }
- public class SendObserver : ISendObserver
- {
- public Task PreSend<T>(SendContext<T> context) where T : class
- {
- Console.WriteLine("------------------PreSend--------------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("-------------------------------------------------");
- return Task.CompletedTask;
- }
- public Task PostSend<T>(SendContext<T> context) where T : class
- {
- Console.WriteLine("------------------PostSend-------------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("-------------------------------------------------");
- return Task.CompletedTask;
- }
- public Task SendFault<T>(SendContext<T> context, Exception exception) where T : class
- {
- Console.WriteLine("------------------SendFault-----------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("-------------------------------------------------");
- return Task.CompletedTask;
- }
- }
- public class ReceiveObserver : IReceiveObserver
- {
- public Task PreReceive(ReceiveContext context)
- {
- Console.WriteLine("------------------PreReceive--------------------");
- Console.WriteLine(Encoding.Default.GetString(context.GetBody()));
- Console.WriteLine("--------------------------------------");
- return Task.CompletedTask;
- }
- public Task PostReceive(ReceiveContext context)
- {
- Console.WriteLine("------------------PostReceive--------------------");
- Console.WriteLine(Encoding.Default.GetString(context.GetBody()));
- Console.WriteLine("------------------------------------------------------");
- return Task.CompletedTask;
- }
- public Task ReceiveFault(ReceiveContext context, Exception exception)
- {
- Console.WriteLine("------------------ReceiveFault--------------------");
- Console.WriteLine(Encoding.Default.GetString(context.GetBody()));
- Console.WriteLine("-------------------------------------------------------");
- return Task.CompletedTask;
- }
- public Task PostConsume<T>(ConsumeContext<T> context, TimeSpan duration, string consumerType) where T : class
- {
- Console.WriteLine("------------------PostConsume--------------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("--------------------------------------------------------");
- return Task.CompletedTask;
- }
- public Task ConsumeFault<T>(ConsumeContext<T> context, TimeSpan duration, string consumerType, Exception exception) where T : class
- {
- Console.WriteLine("------------------ConsumeFault-------------------");
- var message = context.Message as TestMessage;
- Console.WriteLine($"ID={message.MessageId}, Content={message.Content},Time={message.Time}");
- Console.WriteLine("--------------------------------------------------------");
- return Task.CompletedTask;
- }
- }
来源: https://www.cnblogs.com/edisonchou/p/dnc_microservice_masstransit_foundation_part1.html