Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

61 lines
2.2 KiB
C#

//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System.Configuration;
using System.ServiceModel.Channels;
public partial class HttpsTransportElement : HttpTransportElement
{
public HttpsTransportElement()
{
}
public override void ApplyConfiguration(BindingElement bindingElement)
{
base.ApplyConfiguration(bindingElement);
HttpsTransportBindingElement binding = (HttpsTransportBindingElement)bindingElement;
binding.RequireClientCertificate = this.RequireClientCertificate;
}
public override Type BindingElementType
{
get { return typeof(HttpsTransportBindingElement); }
}
public override void CopyFrom(ServiceModelExtensionElement from)
{
base.CopyFrom(from);
HttpsTransportElement source = (HttpsTransportElement)from;
#pragma warning suppress 56506 // [....], base.CopyFrom() validates the argument
this.RequireClientCertificate = source.RequireClientCertificate;
}
protected override TransportBindingElement CreateDefaultBindingElement()
{
return new HttpsTransportBindingElement();
}
protected internal override void InitializeFrom(BindingElement bindingElement)
{
base.InitializeFrom(bindingElement);
HttpsTransportBindingElement binding = (HttpsTransportBindingElement)bindingElement;
SetPropertyValueIfNotDefaultValue(ConfigurationStrings.RequireClientCertificate, binding.RequireClientCertificate);
}
[ConfigurationProperty(ConfigurationStrings.RequireClientCertificate, DefaultValue = TransportDefaults.RequireClientCertificate)]
public bool RequireClientCertificate
{
get { return (bool)base[ConfigurationStrings.RequireClientCertificate]; }
set { base[ConfigurationStrings.RequireClientCertificate] = value; }
}
}
}