ResolveDuplexCD1AsyncResult.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / VersionCD1 / ResolveDuplexCD1AsyncResult.cs / 1305376 / ResolveDuplexCD1AsyncResult.cs

                            //---------------------------------------------------------------- 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//---------------------------------------------------------------

namespace System.ServiceModel.Discovery.VersionCD1 
{
    using System.Runtime; 
 
    sealed class ResolveDuplexCD1AsyncResult : ResolveDuplexAsyncResult
    { 
        internal ResolveDuplexCD1AsyncResult(ResolveMessageCD1 resolveMessage,
            IDiscoveryServiceImplementation discoveryServiceImpl,
            IMulticastSuppressionImplementation multicastSuppressionImpl,
            AsyncCallback callback, 
            object state)
            : base(resolveMessage, discoveryServiceImpl, multicastSuppressionImpl, callback, state) 
        { 
        }
 
        public static void End(IAsyncResult result)
        {
            AsyncResult.End(result);
        } 

        protected override bool ValidateContent(ResolveMessageCD1 resolveMessage) 
        { 
            if ((resolveMessage == null) || (resolveMessage.Resolve == null))
            { 
                if (TD.DiscoveryMessageWithNoContentIsEnabled())
                {
                    TD.DiscoveryMessageWithNoContent(ProtocolStrings.TracingStrings.Resolve);
                } 

                return false; 
            } 
            return true;
        } 

        protected override ResolveCriteria GetResolveCriteria(ResolveMessageCD1 resolveMessage)
        {
            return resolveMessage.Resolve.ToResolveCriteria(); 
        }
 
        protected override IAsyncResult BeginSendResolveResponse( 
            IDiscoveryResponseContractCD1 responseChannel,
            DiscoveryMessageSequence discoveryMessageSequence, 
            EndpointDiscoveryMetadata matchingEndpoint,
            AsyncCallback callback,
            object state)
        { 
            return responseChannel.BeginResolveMatchOperation(
                ResolveMatchesMessageCD1.Create( 
                discoveryMessageSequence, 
                matchingEndpoint),
                callback, 
                state);
        }

        protected override void EndSendResolveResponse(IDiscoveryResponseContractCD1 responseChannel, IAsyncResult result) 
        {
            responseChannel.EndResolveMatchOperation(result); 
        } 

        protected override IAsyncResult BeginSendProxyAnnouncement( 
            IDiscoveryResponseContractCD1 responseChannel,
            DiscoveryMessageSequence discoveryMessageSequence,
            EndpointDiscoveryMetadata proxyEndpointDiscoveryMetadata,
            AsyncCallback callback, 
            object state)
        { 
            return responseChannel.BeginHelloOperation( 
                HelloMessageCD1.Create(
                discoveryMessageSequence, 
                proxyEndpointDiscoveryMetadata),
                callback,
                state);
        } 

        protected override void EndSendProxyAnnouncement(IDiscoveryResponseContractCD1 responseChannel, IAsyncResult result) 
        { 
            responseChannel.EndHelloOperation(result);
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK