Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / ServiceModelEnhancedConfigurationElementCollection.cs / 1 / ServiceModelEnhancedConfigurationElementCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Configuration; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.ServiceModel.Diagnostics; public abstract class ServiceModelEnhancedConfigurationElementCollection: ServiceModelConfigurationElementCollection where TConfigurationElement : ConfigurationElement, new() { internal ServiceModelEnhancedConfigurationElementCollection(string elementName) : base(ConfigurationElementCollectionType.AddRemoveClearMap, elementName) { this.AddElementName = elementName; } protected override void BaseAdd(ConfigurationElement element) { if (null == element) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element"); } // Is this a duplicate key? object newElementKey = this.GetElementKey(element); if (this.ContainsKey(newElementKey)) { ConfigurationElement oldElement = this.BaseGet(newElementKey); if (null != oldElement) { // Is oldElement present in the current level of config // being manipulated (i.e. duplicate in same config file) if (oldElement.ElementInformation.IsPresent) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigDuplicateKeyAtSameScope, this.ElementName, newElementKey))); } else if (DiagnosticUtility.ShouldTraceWarning) { Dictionary values = new Dictionary (6); values.Add("ElementName", this.ElementName); values.Add("Name", newElementKey.ToString()); values.Add("OldElementLocation", oldElement.ElementInformation.Source); values.Add("OldElementLineNumber", oldElement.ElementInformation.LineNumber.ToString(NumberFormatInfo.CurrentInfo)); values.Add("NewElementLocation", element.ElementInformation.Source); values.Add("NewElementLineNumber", element.ElementInformation.LineNumber.ToString(NumberFormatInfo.CurrentInfo)); DictionaryTraceRecord traceRecord = new DictionaryTraceRecord(values); TraceUtility.TraceEvent(TraceEventType.Warning, TraceCode.OverridingDuplicateConfigurationKey, traceRecord, this, null); } } } base.BaseAdd(element); } protected override bool ThrowOnDuplicate { get { return false; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PhotoPrintingIntent.cs
- DbParameterCollectionHelper.cs
- GroupByExpressionRewriter.cs
- FocusTracker.cs
- BaseCodePageEncoding.cs
- DataTableCollection.cs
- CommittableTransaction.cs
- GroupByExpressionRewriter.cs
- NextPreviousPagerField.cs
- ProviderSettings.cs
- ExtensionDataObject.cs
- JsonFormatWriterGenerator.cs
- templategroup.cs
- Localizer.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- EditorPart.cs
- ObjectDataSourceFilteringEventArgs.cs
- OptimizedTemplateContent.cs
- EmissiveMaterial.cs
- LocatorBase.cs
- exports.cs
- DataGridTable.cs
- SoapIncludeAttribute.cs
- DataSvcMapFileSerializer.cs
- AnnotationMap.cs
- IncrementalReadDecoders.cs
- Transaction.cs
- RepeatButtonAutomationPeer.cs
- SoapAttributes.cs
- FixedPosition.cs
- TypeDelegator.cs
- StylusPointCollection.cs
- SerializationTrace.cs
- DataGridViewLinkColumn.cs
- DesignSurface.cs
- DoubleLinkList.cs
- ToolbarAUtomationPeer.cs
- Internal.cs
- ConfigurationManagerInternal.cs
- CaseCqlBlock.cs
- FunctionImportMapping.cs
- ComponentChangedEvent.cs
- NativeCppClassAttribute.cs
- SafeCoTaskMem.cs
- Int32Storage.cs
- SecureConversationVersion.cs
- LineProperties.cs
- UIElementCollection.cs
- DataPointer.cs
- HttpFileCollection.cs
- WindowsMenu.cs
- SubclassTypeValidatorAttribute.cs
- Misc.cs
- ToolStripItemImageRenderEventArgs.cs
- EditCommandColumn.cs
- DataObject.cs
- HideDisabledControlAdapter.cs
- NullReferenceException.cs
- AutomationAttributeInfo.cs
- SubclassTypeValidatorAttribute.cs
- WindowsGraphicsCacheManager.cs
- EntryPointNotFoundException.cs
- login.cs
- ClassHandlersStore.cs
- Lookup.cs
- Comparer.cs
- SimpleRecyclingCache.cs
- HttpProfileGroupBase.cs
- FixedPageAutomationPeer.cs
- DataGridViewLayoutData.cs
- ValidationErrorEventArgs.cs
- XhtmlStyleClass.cs
- Rules.cs
- OperationAbortedException.cs
- Overlapped.cs
- Timer.cs
- FilterException.cs
- WebBrowser.cs
- DirectoryInfo.cs
- DataControlField.cs
- ConfigurationPermission.cs
- HwndProxyElementProvider.cs
- DesignTimeParseData.cs
- EnumerableValidator.cs
- XmlUtf8RawTextWriter.cs
- ProcessHostMapPath.cs
- OracleCommand.cs
- SizeF.cs
- Timer.cs
- LocalValueEnumerator.cs
- CollectionContainer.cs
- RoutedPropertyChangedEventArgs.cs
- ChangeTracker.cs
- HtmlTableCellCollection.cs
- Function.cs
- EntityProviderServices.cs
- MouseWheelEventArgs.cs
- TextTreeObjectNode.cs
- XamlTypeMapper.cs
- FocusManager.cs