コード例 #1
0
ファイル: RequestExtensions.cs プロジェクト: chandmk/Obvs
 public static void SetCorrelationIds(this IRequest request)
 {
     if (string.IsNullOrEmpty(request.RequestId))
     {
         request.RequestId = Guid.NewGuid().ToString();
     }
     request.RequesterId = RequesterId.Create();
 }
コード例 #2
0
ファイル: ServiceEndpointClient.cs プロジェクト: chandmk/Obvs
        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;
            }));
        }