|
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System.Configuration;
using System.ServiceModel.Description;
using System.ServiceModel.Web;
public sealed partial class WebHttpElement : BehaviorExtensionElement
{
ConfigurationPropertyCollection properties;
public WebHttpElement()
{
}
[ConfigurationProperty(WebConfigurationStrings.HelpEnabled)]
public bool HelpEnabled
{
get { return (bool)base[WebConfigurationStrings.HelpEnabled]; }
set { base[WebConfigurationStrings.HelpEnabled] = value; }
}
[ConfigurationProperty(WebConfigurationStrings.DefaultBodyStyle)]
[InternalEnumValidator(typeof(WebMessageBodyStyleHelper))]
public WebMessageBodyStyle DefaultBodyStyle
{
get { return (WebMessageBodyStyle)base[WebConfigurationStrings.DefaultBodyStyle]; }
set { base[WebConfigurationStrings.DefaultBodyStyle] = value; }
}
[ConfigurationProperty(WebConfigurationStrings.DefaultOutgoingResponseFormat)]
[InternalEnumValidator(typeof(WebMessageFormatHelper))]
public WebMessageFormat DefaultOutgoingResponseFormat
{
get { return (WebMessageFormat)base[WebConfigurationStrings.DefaultOutgoingResponseFormat]; }
set { base[WebConfigurationStrings.DefaultOutgoingResponseFormat] = value; }
}
[ConfigurationProperty(WebConfigurationStrings.AutomaticFormatSelectionEnabled)]
public bool AutomaticFormatSelectionEnabled
{
get { return (bool)base[WebConfigurationStrings.AutomaticFormatSelectionEnabled]; }
set { base[WebConfigurationStrings.AutomaticFormatSelectionEnabled] = value; }
}
[ConfigurationProperty(WebConfigurationStrings.FaultExceptionEnabled)]
public bool FaultExceptionEnabled
{
get { return (bool)base[WebConfigurationStrings.FaultExceptionEnabled]; }
set { base[WebConfigurationStrings.FaultExceptionEnabled] = value; }
}
protected override ConfigurationPropertyCollection Properties
{
get
{
if (this.properties == null)
{
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
properties.Add(new ConfigurationProperty(WebConfigurationStrings.HelpEnabled, typeof(bool), false, null, null, System.Configuration.ConfigurationPropertyOptions.None));
properties.Add(new ConfigurationProperty(WebConfigurationStrings.DefaultBodyStyle, typeof(System.ServiceModel.Web.WebMessageBodyStyle), System.ServiceModel.Web.WebMessageBodyStyle.Bare, null, new System.ServiceModel.Configuration.InternalEnumValidator(typeof(System.ServiceModel.Web.WebMessageBodyStyleHelper)), System.Configuration.ConfigurationPropertyOptions.None));
properties.Add(new ConfigurationProperty(WebConfigurationStrings.DefaultOutgoingResponseFormat, typeof(System.ServiceModel.Web.WebMessageFormat), System.ServiceModel.Web.WebMessageFormat.Xml, null, new System.ServiceModel.Configuration.InternalEnumValidator(typeof(System.ServiceModel.Web.WebMessageFormatHelper)), System.Configuration.ConfigurationPropertyOptions.None));
properties.Add(new ConfigurationProperty(WebConfigurationStrings.AutomaticFormatSelectionEnabled, typeof(bool), false, null, null, System.Configuration.ConfigurationPropertyOptions.None));
properties.Add(new ConfigurationProperty(WebConfigurationStrings.FaultExceptionEnabled, typeof(bool), false, null, null, System.Configuration.ConfigurationPropertyOptions.None));
this.properties = properties;
}
return this.properties;
}
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Configuration", "Configuration102:ConfigurationPropertyAttributeRule", MessageId = "System.ServiceModel.Configuration.WebHttpElement.BehaviorType", Justification = "Not a configurable property; a property that had to be overridden from abstract parent class")]
public override Type BehaviorType
{
get { return typeof(WebHttpBehavior); }
}
internal protected override object CreateBehavior()
{
return new WebHttpBehavior()
{
HelpEnabled = this.HelpEnabled,
DefaultBodyStyle = this.DefaultBodyStyle,
DefaultOutgoingResponseFormat = this.DefaultOutgoingResponseFormat,
AutomaticFormatSelectionEnabled = this.AutomaticFormatSelectionEnabled,
FaultExceptionEnabled = this.FaultExceptionEnabled,
};
}
}
}
|