|
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using System.Configuration;
using System.Collections.Generic;
using System.ServiceModel;
using System.Xml;
using System.Globalization;
public partial class ServiceMetadataEndpointElement : StandardEndpointElement
{
public ServiceMetadataEndpointElement() : base() { }
protected internal override Type EndpointType
{
get { return typeof(ServiceMetadataEndpoint); }
}
protected internal override ServiceEndpoint CreateServiceEndpoint(ContractDescription contractDescription)
{
return new ServiceMetadataEndpoint();
}
protected override void OnInitializeAndValidate(ChannelEndpointElement channelEndpointElement)
{
if (String.IsNullOrEmpty(channelEndpointElement.Binding))
{
channelEndpointElement.Binding = ConfigurationStrings.MexHttpBindingCollectionElementName;
}
channelEndpointElement.Contract = ServiceMetadataBehavior.MexContractName;
}
protected override void OnInitializeAndValidate(ServiceEndpointElement serviceEndpointElement)
{
if (String.IsNullOrEmpty(serviceEndpointElement.Binding))
{
serviceEndpointElement.Binding = ConfigurationStrings.MexHttpBindingCollectionElementName;
}
serviceEndpointElement.Contract = ServiceMetadataBehavior.MexContractName;
serviceEndpointElement.IsSystemEndpoint = true;
}
protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ServiceEndpointElement serviceEndpointElement)
{
//no additional configuration is required for MEX.
}
protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ChannelEndpointElement serviceEndpointElement)
{
//no additional configuration is required for MEX.
}
}
}
|