94 lines
5.0 KiB
C#
94 lines
5.0 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// 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,
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
}
|