public IAsyncResult BeginResolveMatchOperation(ResolveMatchesMessageApril2005 response, AsyncCallback callback, object state)
 {
     Fx.Assert(response != null, "The response message cannot be null.");
     if ((response.ResolveMatches != null) && (response.ResolveMatches.ResolveMatch != null))
     {
         this.responseReceiver.ResolveMatchOperation(
             OperationContext.Current.IncomingMessageHeaders.RelatesTo,
             DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence),
             response.ResolveMatches.ResolveMatch.ToEndpointDiscoveryMetadata());
     }
     return(new CompletedAsyncResult(callback, state));
 }
Exemplo n.º 2
0
        public void EndResolveOperation(IAsyncResult result)
        {
            ResolveMatchesMessageCD1 response = base.Channel.EndResolveOperation(result);
            AsyncOperationContext    context  = (AsyncOperationContext)result.AsyncState;

            if ((response != null) && (response.ResolveMatches != null) && (response.ResolveMatches.ResolveMatch != null))
            {
                this.responseReceiver.ResolveMatchOperation(
                    context.OperationId,
                    DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence),
                    response.ResolveMatches.ResolveMatch.ToEndpointDiscoveryMetadata());
            }
            else
            {
                this.responseReceiver.PostResolveCompletedAndRemove(context.OperationId, false, null);
            }
        }
        public void EndProbeOperation(IAsyncResult result)
        {
            ProbeMatchesMessage11 response = base.Channel.EndProbeOperation(result);
            AsyncOperationContext context  = (AsyncOperationContext)result.AsyncState;

            if ((response != null) && (response.ProbeMatches != null))
            {
                this.responseReceiver.ProbeMatchOperation(
                    context.OperationId,
                    DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence),
                    DiscoveryUtility.ToEndpointDiscoveryMetadataCollection(response.ProbeMatches),
                    true);
            }
            else
            {
                this.responseReceiver.PostFindCompletedAndRemove(context.OperationId, false, null);
            }
        }
Exemplo n.º 4
0
        public void ResolveOperation(ResolveCriteria resolveCriteria)
        {
            ResolveMessageCD1 request = new ResolveMessageCD1();

            request.Resolve = ResolveCriteriaCD1.FromResolveCriteria(resolveCriteria);

            ResolveMatchesMessageCD1 response = base.Channel.ResolveOperation(request);

            if ((response != null) && (response.ResolveMatches != null) && (response.ResolveMatches.ResolveMatch != null))
            {
                this.responseReceiver.ResolveMatchOperation(
                    OperationContext.Current.IncomingMessageHeaders.RelatesTo,
                    DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence),
                    response.ResolveMatches.ResolveMatch.ToEndpointDiscoveryMetadata());
            }
            else
            {
                this.responseReceiver.PostResolveCompletedAndRemove(OperationContext.Current.IncomingMessageHeaders.RelatesTo, false, null);
            }
        }
Exemplo n.º 5
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);
            }
        }
Exemplo n.º 6
0
 protected override DiscoveryMessageSequence GetMessageSequence(ByeMessageCD1 message)
 {
     return(DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(message.MessageSequence));
 }
 protected override DiscoveryMessageSequence GetMessageSequence(HelloMessageApril2005 message)
 {
     return(DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(message.MessageSequence));
 }