예제 #1
0
 private async Task RegisterSubscriptions()
 {
     _loggingCallback?.Invoke($"Registering subscriptions for service '{_context.ServiceName}'.");
     try
     {
         await _subscriberServiceHelper.SubscribeAsync(
             _subscriberServiceHelper.CreateServiceReference(_service),
             _subscriberServiceHelper.DiscoverMessageHandlers(_service).Keys)
         .ConfigureAwait(false);
     }
     catch (Exception ex)
     {
         _loggingCallback?.Invoke(
             $"Failed to register subscriptions for service '{_context.ServiceName}'. Error: {ex}");
     }
 }
예제 #2
0
 /// <summary>
 /// Subscribes to all message types that have a handler registered using the <see cref="SubscribeAttribute"/>.
 /// </summary>
 /// <param name="cancellationToken"></param>
 protected override Task OnOpenAsync(CancellationToken cancellationToken)
 {
     Handlers = _subscriberServiceHelper.DiscoverMessageHandlers(this);
     return(Subscribe());
 }
예제 #3
0
 public Dictionary <Type, Func <object, Task> > DiscoverMessageHandlers <T>(T handlerClass) where T : class
 {
     return(_helper.DiscoverMessageHandlers(handlerClass));
 }