Ejemplo n.º 1
0
 public static void SetCorrelationIds(this IRequest request)
 {
     if (string.IsNullOrEmpty(request.RequestId))
     {
         request.RequestId = Guid.NewGuid().ToString();
     }
     request.RequesterId = RequesterId.Create();
 }
Ejemplo n.º 2
0
        public IObservable <IResponse> GetResponses(IRequest request)
        {
            request.RequestId   = Guid.NewGuid().ToString();
            request.RequesterId = RequesterId.Create();

            return(Observable.Create <IResponse>(observer =>
            {
                IDisposable disposable = _responseSource.Messages
                                         .Where(response => response.RequestId == request.RequestId &&
                                                response.RequesterId == request.RequesterId)
                                         .Subscribe(observer);

                _requestPublisher.Publish(request);

                return disposable;
            }));
        }