public static void SetCorrelationIds(this IRequest request) { if (string.IsNullOrEmpty(request.RequestId)) { request.RequestId = Guid.NewGuid().ToString(); } request.RequesterId = RequesterId.Create(); }
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; })); }