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
- StylusShape.cs
- WebBrowserContainer.cs
- embossbitmapeffect.cs
- complextypematerializer.cs
- Win32PrintDialog.cs
- EventItfInfo.cs
- ConfigurationSchemaErrors.cs
- InitializerFacet.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- MemberHolder.cs
- ContentDefinition.cs
- FloatSumAggregationOperator.cs
- TargetException.cs
- ScrollBarRenderer.cs
- SqlBulkCopy.cs
- SourceFileInfo.cs
- ReaderContextStackData.cs
- CngAlgorithmGroup.cs
- QueryPageSettingsEventArgs.cs
- ResourceAssociationType.cs
- GridViewUpdatedEventArgs.cs
- WebPartExportVerb.cs
- figurelength.cs
- UserInitiatedRoutedEventPermission.cs
- DiagnosticTraceRecords.cs
- DragEventArgs.cs
- CheckBox.cs
- ManagedIStream.cs
- ScrollEventArgs.cs
- OutputCacheSettingsSection.cs
- FormClosedEvent.cs
- ForeignKeyConstraint.cs
- CompositionTarget.cs
- FixedPage.cs
- XmlIterators.cs
- SafeEventLogWriteHandle.cs
- AutomationElementCollection.cs
- DiagnosticEventProvider.cs
- MarkupCompilePass2.cs
- StorageBasedPackageProperties.cs
- RowUpdatedEventArgs.cs
- KnownColorTable.cs
- WebPartDeleteVerb.cs
- EncoderParameters.cs
- ValidationError.cs
- Thread.cs
- BinaryFormatter.cs
- DataGridToolTip.cs
- AsyncContentLoadedEventArgs.cs
- VisualTreeHelper.cs
- DataGridViewUtilities.cs
- DataGridViewRowCollection.cs
- TraceListener.cs
- Helpers.cs
- TypeTypeConverter.cs
- SaveCardRequest.cs
- VariableAction.cs
- XmlEventCache.cs
- ImageMetadata.cs
- XmlBoundElement.cs
- DataViewManager.cs
- ToolStripContainerActionList.cs
- Base64Stream.cs
- SecurityCriticalDataForSet.cs
- HMACSHA256.cs
- ReadWriteObjectLock.cs
- PolyLineSegment.cs
- TextTreeRootTextBlock.cs
- DataServiceKeyAttribute.cs
- Compiler.cs
- InheritanceRules.cs
- Constant.cs
- ListBoxItemAutomationPeer.cs
- ParseElement.cs
- SystemWebCachingSectionGroup.cs
- FolderBrowserDialog.cs
- Focus.cs
- PathGradientBrush.cs
- DragCompletedEventArgs.cs
- shaperfactoryquerycacheentry.cs
- MultilineStringEditor.cs
- DoWorkEventArgs.cs
- ActivityExecutorSurrogate.cs
- XPathNodeList.cs
- ComPlusAuthorization.cs
- IsolatedStorageFilePermission.cs
- SetStoryboardSpeedRatio.cs
- ToolBarPanel.cs
- OperatingSystem.cs
- AssemblyNameUtility.cs
- ConsumerConnectionPointCollection.cs
- HttpConfigurationContext.cs
- DataBinder.cs
- StorageMappingItemLoader.cs
- PenLineCapValidation.cs
- AlgoModule.cs
- CompressEmulationStream.cs
- SystemInfo.cs
- WinInet.cs
- Tool.cs