EndpointInfo.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Administration / EndpointInfo.cs / 1 / EndpointInfo.cs

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

namespace System.ServiceModel.Administration 
{
    using System; 
    using System.Collections.Generic; 
    using System.ServiceModel.Channels;
    using System.ServiceModel; 
    using System.ServiceModel.Description;
    using System.Diagnostics;
    using System.Runtime.Serialization;
    using System.ServiceModel.Diagnostics; 

    internal sealed class EndpointInfo 
    { 
        Uri address;
        KeyedByTypeCollection behaviors; 
        EndpointIdentity identity;
        AddressHeaderCollection headers;
        CustomBinding binding;
        ContractDescription contract; 
        ServiceEndpoint endpoint;
        string serviceName; 
 
        internal EndpointInfo(ServiceEndpoint endpoint, string serviceName)
        { 
            DiagnosticUtility.DebugAssert(null != endpoint, "endpoint cannot be null");

            this.endpoint = endpoint;
            this.address = endpoint.Address.Uri; 
            this.headers = endpoint.Address.Headers;
            this.identity = endpoint.Address.Identity; 
            this.behaviors = endpoint.Behaviors; 
            this.serviceName = serviceName;
 
            this.binding = null == endpoint.Binding ?  new CustomBinding() : new CustomBinding(endpoint.Binding);
            this.contract = endpoint.Contract;
        }
 
        public Uri Address
        { 
            get { return this.address; } 
        }
 
        public Uri ListenUri
        {
            get { return null != this.Endpoint.ListenUri ? this.Endpoint.ListenUri : this.Address; }
        } 

        public KeyedByTypeCollection Behaviors 
        { 
            get
            { 
                return this.behaviors;
            }
        }
 
        public ContractDescription Contract
        { 
            get { return this.contract; } 
        }
 
        public CustomBinding Binding
        {
            get { return this.binding; }
        } 

        public ServiceEndpoint Endpoint 
        { 
            get { return this.endpoint; }
        } 

        public AddressHeaderCollection Headers
        {
            get { return this.headers; } 
        }
 
        public EndpointIdentity Identity 
        {
            get { return this.identity; } 
        }

        public string Name
        { 
            get
            { 
                return this.ServiceName + "." + this.Contract.Name + "@" + this.Address.AbsoluteUri; 
            }
        } 

        public string ServiceName
        {
            get { return this.serviceName; } 
        }
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

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