private async Task <byte[]> RequestResponseActorMessageAsync( IServiceRemotingRequestContext requestContext, ServiceRemotingMessageHeaders messageHeaders, byte[] requestBody, ActorMessageHeaders actorMessageHeaders, CustomServiceRequestHeader customHeader) { var methodName = GetActorMethodName(actorMessageHeaders); byte[] result = null; using (new ServiceRequestContextWrapper(customHeader)) { using (_logger?.RecieveActorMessage(_actorService.Context.ServiceName, methodName, actorMessageHeaders, customHeader)) { try { result = await _innerMessageHandler.RequestResponseAsync(requestContext, messageHeaders, requestBody); } catch (Exception ex) { _logger?.RecieveActorMessageFailed(_actorService.Context.ServiceName, methodName, actorMessageHeaders, customHeader, ex); throw; } } } return(result); }
/// <summary> /// Handles a message from the client that requires a response from the service. It consumes the correlation id and /// context from the message headers, if any. /// </summary> /// <param name="requestContext">Request context - contains additional information about the request.</param> /// <param name="messageHeaders">Request message headers.</param> /// <param name="requestBody">Request message body</param> /// <returns></returns> public Task <byte[]> RequestResponseAsync(IServiceRemotingRequestContext requestContext, ServiceRemotingMessageHeaders messageHeaders, byte[] requestBody) { return(HandleAndTrackRequestAsync(messageHeaders, () => _innerHandler.RequestResponseAsync(requestContext, messageHeaders, requestBody))); }
public Task <byte[]> RequestResponseAsync(IServiceRemotingRequestContext requestContext, ServiceRemotingMessageHeaders messageHeaders, byte[] requestBody) { FabricTelemetryInitializerExtension.SetServiceCallContext(_context); return(_handler.RequestResponseAsync(requestContext, messageHeaders, requestBody)); }