示例#1
0
        public IAsyncResult BeginProbeOperation(FindCriteria findCriteria, AsyncCallback callback, object state)
        {
            ProbeMessageCD1 request = new ProbeMessageCD1();

            request.Probe = FindCriteriaCD1.FromFindCriteria(findCriteria);
            return(base.Channel.BeginProbeOperation(request, callback, state));
        }
        public void ProbeOperation(FindCriteria findCriteria)
        {
            ProbeMessageCD1 request = new ProbeMessageCD1();

            request.Probe = FindCriteriaCD1.FromFindCriteria(findCriteria);
            this.duplexInnerClient.ProbeOperation(request);
        }
示例#3
0
        public void ProbeOperation(FindCriteria findCriteria)
        {
            ProbeMessageCD1 request = new ProbeMessageCD1();

            request.Probe = FindCriteriaCD1.FromFindCriteria(findCriteria);

            ProbeMatchesMessageCD1 response = base.Channel.ProbeOperation(request);

            if ((response != null) && (response.ProbeMatches != null))
            {
                this.responseReceiver.ProbeMatchOperation(
                    OperationContext.Current.IncomingMessageHeaders.RelatesTo,
                    DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence),
                    DiscoveryUtility.ToEndpointDiscoveryMetadataCollection(response.ProbeMatches),
                    true);
            }
            else
            {
                this.responseReceiver.PostFindCompletedAndRemove(OperationContext.Current.IncomingMessageHeaders.RelatesTo, false, null);
            }
        }