protected NatsResponder(NatsService natsService) { _natsService = natsService; var methods = GetType().GetMethods(); foreach (var methodInfo in methods) { if (!methodInfo.IsPublic || methodInfo.IsStatic) { continue; } var methodParams = methodInfo.GetParameters(); if (methodParams.Length == 1 && typeof(INatsRequest).IsAssignableFrom(methodParams.First().ParameterType)) { var eventName = methodParams.First().ParameterType.FullName; _natsService.Subscribe(eventName, methodInfo, this, methodParams.First().ParameterType); } } }
public override string Execute(NatsService natsService, ExecutorService executorService) { natsService.Subscribe(new NatsSubscription(Param1)); return("Subscribed."); }
private void Subscribe(NatsSubscription subscription) { Logger.Info($"{nameof(NatsSubscription.Subscribe)}: {subscription}"); NatsService.Subscribe(subscription); Subscriptions.Update(subscription); }