public void Handle(Envelope <QueryResult> envelope) { if (_resultManager.SetQueryResult(envelope.MessageId, envelope.Body)) { if (LogManager.Default.IsDebugEnabled) { LogManager.Default.DebugFormat("query({0}) is completed.", envelope.MessageId); } } }
public Task <IQueryResult> FetchAsync(IQuery query, int timeoutMs) { var traceId = ObjectId.GenerateNewId().ToString(); var queryTask = _resultManger.RegisterProcessingQuery(traceId, query, timeoutMs); Task.Factory.StartNew(() => { try { _queryBus.Send(query, new TraceInfo(traceId, ConfigurationSettings.InnerAddress)); } catch (Exception ex) { LogManager.Default.Error(ex); _resultManger.SetQueryResult(traceId, QueryResult.SentFailed); } }); return(queryTask); }