public override async Task VerifyStandaloneXml( StandaloneVerificationRequest request, IServerStreamWriter <StandaloneVerificationResponse> responseStream, ServerCallContext context) { try { _msg.InfoFormat("Starting stand-alone verification request from {0}", context.Peer); _msg.DebugFormat("Request details: {0}", request); Action <LoggingEvent> action = SendInfoLogAction(responseStream, ServiceCallStatus.Running); using (MessagingUtils.TemporaryRootAppender(new ActionAppender(action))) { Func <ITrackCancel, ServiceCallStatus> func = trackCancel => VerifyStandaloneXmlCore(request, responseStream, trackCancel); ServiceCallStatus result = await GrpcServerUtils.ExecuteServiceCall( func, context, _singleStaThreadScheduler); _msg.InfoFormat("Verification {0}", result); } } catch (Exception e) { _msg.Error($"Error verifying quality for request {request}", e); SendFatalException(e, responseStream); SetUnhealthy(); } }