1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System;
using System.Configuration;
using System.Runtime.CompilerServices;
using System.ServiceModel.Channels;
[TypeForwardedFrom("System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
public partial class BasicHttpContextBindingElement : BasicHttpBindingElement
{
const string ContextManagementEnabledName = ContextBindingElementExtensionElement.ContextManagementEnabledName;
public BasicHttpContextBindingElement()
: base()
{
}
public BasicHttpContextBindingElement(string name)
: base(name)
{
}
protected override Type BindingElementType
{
get { return typeof(BasicHttpContextBinding); }
}
[ConfigurationProperty(ContextManagementEnabledName, DefaultValue = ContextBindingElement.DefaultContextManagementEnabled)]
public bool ContextManagementEnabled
{
get { return (bool)base[ContextManagementEnabledName]; }
set { base[ContextManagementEnabledName] = value; }
}
protected internal override void InitializeFrom(Binding binding)
{
base.InitializeFrom(binding);
BasicHttpContextBinding basicHttpContextBinding = (BasicHttpContextBinding)binding;
SetPropertyValueIfNotDefaultValue(BasicHttpContextBindingElement.ContextManagementEnabledName, basicHttpContextBinding.ContextManagementEnabled);
}
internal override void InitializeAllowCookies(HttpBindingBase binding)
{
// do not emit allowCookies=true in generated config because BasicHttpContextBinding will always set AllowCookies to true anyway
}
protected override void OnApplyConfiguration(Binding binding)
{
base.OnApplyConfiguration(binding);
if (this.ElementInformation.Properties["allowCookies"].ValueOrigin == PropertyValueOrigin.Default)
{
((BasicHttpBinding) binding).AllowCookies = true;
}
else if (!this.AllowCookies)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.BasicHttpContextBindingRequiresAllowCookie, this.Name, ""));
}
((BasicHttpContextBinding)binding).ContextManagementEnabled = this.ContextManagementEnabled;
}
}
}
|