Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / EndpointDiscoveryElement.cs / 1305376 / EndpointDiscoveryElement.cs
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.ServiceModel.Discovery.Configuration
{
using System.Configuration;
using System.Diagnostics.CodeAnalysis;
using System.Runtime;
using System.ServiceModel.Configuration;
using System.Xml.Linq;
using System.Xml;
public sealed class EndpointDiscoveryElement : BehaviorExtensionElement
{
ConfigurationPropertyCollection properties;
public EndpointDiscoveryElement()
{
}
[SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationPropertyAttributeRule,
Justification = "This property is defined by the base class to determine the type of the behavior.")]
public override Type BehaviorType
{
get
{
return typeof(EndpointDiscoveryBehavior);
}
}
[ConfigurationProperty(ConfigurationStrings.Enabled, DefaultValue = true)]
public bool Enabled
{
get
{
return (bool)base[ConfigurationStrings.Enabled];
}
set
{
base[ConfigurationStrings.Enabled] = value;
}
}
[ConfigurationProperty(ConfigurationStrings.Types)]
[SuppressMessage(
FxCop.Category.Configuration,
FxCop.Rule.ConfigurationPropertyNameRule,
Justification = "The configuration name for this element is 'types'.")]
public ContractTypeNameElementCollection ContractTypeNames
{
get
{
return (ContractTypeNameElementCollection)base[ConfigurationStrings.Types];
}
}
[ConfigurationProperty(ConfigurationStrings.Scopes)]
public ScopeElementCollection Scopes
{
get
{
return (ScopeElementCollection)base[ConfigurationStrings.Scopes];
}
}
[ConfigurationProperty(ConfigurationStrings.Extensions)]
public XmlElementElementCollection Extensions
{
get
{
return (XmlElementElementCollection)base[ConfigurationStrings.Extensions];
}
}
protected override ConfigurationPropertyCollection Properties
{
get
{
if (this.properties == null)
{
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
properties.Add(
new ConfigurationProperty(
ConfigurationStrings.Enabled,
typeof(Boolean),
true,
null,
null,
ConfigurationPropertyOptions.None));
properties.Add(
new ConfigurationProperty(
ConfigurationStrings.Types,
typeof(ContractTypeNameElementCollection),
null,
null,
null,
ConfigurationPropertyOptions.None));
properties.Add(
new ConfigurationProperty(
ConfigurationStrings.Scopes,
typeof(ScopeElementCollection),
null,
null,
null,
ConfigurationPropertyOptions.None));
properties.Add(
new ConfigurationProperty(
ConfigurationStrings.Extensions,
typeof(XmlElementElementCollection),
null,
null,
null,
ConfigurationPropertyOptions.None));
this.properties = properties;
}
return this.properties;
}
}
protected internal override object CreateBehavior()
{
EndpointDiscoveryBehavior behavior = new EndpointDiscoveryBehavior();
behavior.Enabled = Enabled;
if ((Scopes != null) && (Scopes.Count > 0))
{
foreach (ScopeElement scopeElement in Scopes)
{
behavior.Scopes.Add(scopeElement.Scope);
}
}
if (ContractTypeNames != null)
{
foreach (ContractTypeNameElement contractTypeNameElement in ContractTypeNames)
{
behavior.ContractTypeNames.Add(
new XmlQualifiedName(contractTypeNameElement.Name, contractTypeNameElement.Namespace));
}
}
if ((Extensions != null) && (Extensions.Count > 0))
{
foreach (XmlElementElement xmlElement in Extensions)
{
behavior.Extensions.Add(XElement.Parse(xmlElement.XmlElement.OuterXml));
}
}
return behavior;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WmlListAdapter.cs
- RemoteWebConfigurationHostServer.cs
- Inflater.cs
- Nodes.cs
- CreateUserWizard.cs
- Utils.cs
- WebPartConnectionsCancelVerb.cs
- StagingAreaInputItem.cs
- cookiecollection.cs
- ReachVisualSerializerAsync.cs
- WebPartMenuStyle.cs
- SqlGenericUtil.cs
- DesignColumnCollection.cs
- KeyTime.cs
- XPathSelfQuery.cs
- ReflectionUtil.cs
- AssemblyResourceLoader.cs
- ResourceManager.cs
- PointCollection.cs
- TargetException.cs
- KeyedCollection.cs
- UIElementIsland.cs
- HtmlButton.cs
- AnchorEditor.cs
- Pair.cs
- ResXResourceWriter.cs
- RayHitTestParameters.cs
- HashSet.cs
- HttpHandlerActionCollection.cs
- StrokeNodeEnumerator.cs
- NotificationContext.cs
- WrappedIUnknown.cs
- SessionSwitchEventArgs.cs
- CultureInfoConverter.cs
- WebPartEventArgs.cs
- HtmlTableCell.cs
- XmlCustomFormatter.cs
- ToolStripDropDownItem.cs
- FormatSettings.cs
- BitmapEffectDrawingContextWalker.cs
- SecurityKeyUsage.cs
- SoapAttributeAttribute.cs
- XmlNavigatorFilter.cs
- XComponentModel.cs
- TextServicesCompartmentContext.cs
- SrgsText.cs
- VScrollBar.cs
- SmtpLoginAuthenticationModule.cs
- DataGridViewImageColumn.cs
- SynchronizationValidator.cs
- ProfileServiceManager.cs
- JournalEntry.cs
- CodeDelegateCreateExpression.cs
- ReliableReplySessionChannel.cs
- OdbcConnection.cs
- AutoGeneratedField.cs
- PlaceHolder.cs
- DTCTransactionManager.cs
- StickyNoteHelper.cs
- SQLGuid.cs
- EventWaitHandle.cs
- MethodBody.cs
- CodeComment.cs
- TypeForwardedToAttribute.cs
- ScrollChrome.cs
- DesignerHierarchicalDataSourceView.cs
- TransformPatternIdentifiers.cs
- WebPartEditVerb.cs
- DataSourceComponent.cs
- TaiwanCalendar.cs
- PersonalizationStateQuery.cs
- CounterSet.cs
- CodeDomSerializer.cs
- QueryCacheManager.cs
- EditCommandColumn.cs
- WindowsToolbar.cs
- AppDomainUnloadedException.cs
- SchemaSetCompiler.cs
- IpcPort.cs
- HtmlMobileTextWriter.cs
- FigureParaClient.cs
- Tokenizer.cs
- WebBaseEventKeyComparer.cs
- ObjectView.cs
- SecondaryIndexDefinition.cs
- PeerNameResolver.cs
- BindStream.cs
- ResourceDisplayNameAttribute.cs
- TextEndOfSegment.cs
- GetCertificateRequest.cs
- ObjectDataSourceSelectingEventArgs.cs
- SQLMembershipProvider.cs
- InkCanvasFeedbackAdorner.cs
- BaseCodePageEncoding.cs
- AsynchronousChannelMergeEnumerator.cs
- ByteStreamGeometryContext.cs
- xml.cs
- WebProxyScriptElement.cs
- OciLobLocator.cs
- Stackframe.cs