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
- DbParameterHelper.cs
- SerializationUtilities.cs
- KeyedCollection.cs
- MarshalDirectiveException.cs
- PointCollectionConverter.cs
- DispatcherOperation.cs
- MaterialGroup.cs
- UIElementParaClient.cs
- PerfCounters.cs
- DeviceContexts.cs
- JsonFormatMapping.cs
- AddIn.cs
- Point4DConverter.cs
- TextServicesCompartmentEventSink.cs
- AttributeConverter.cs
- BoundPropertyEntry.cs
- LogicalExpressionEditor.cs
- BrushValueSerializer.cs
- Rectangle.cs
- Profiler.cs
- IdleTimeoutMonitor.cs
- BufferedWebEventProvider.cs
- ExpressionVisitorHelpers.cs
- DataGridViewMethods.cs
- BitStack.cs
- ReliabilityContractAttribute.cs
- Int16Converter.cs
- XmlSchemas.cs
- AssociationSetEnd.cs
- ContentElementAutomationPeer.cs
- HiddenFieldPageStatePersister.cs
- SHA1CryptoServiceProvider.cs
- HasCopySemanticsAttribute.cs
- UrlRoutingModule.cs
- DataGridViewMethods.cs
- EndOfStreamException.cs
- EntityCommandExecutionException.cs
- AnyReturnReader.cs
- BrowserCapabilitiesCodeGenerator.cs
- ObjectRef.cs
- ModelService.cs
- StorageMappingItemLoader.cs
- TwoPhaseCommitProxy.cs
- WebControlParameterProxy.cs
- BuildResult.cs
- Validator.cs
- Rect.cs
- DataGridColumnFloatingHeader.cs
- ConnectionProviderAttribute.cs
- Clause.cs
- AnimationStorage.cs
- WsatStrings.cs
- SkinIDTypeConverter.cs
- Pair.cs
- HelpProvider.cs
- DataGridTable.cs
- ArrayConverter.cs
- CompiledQuery.cs
- FileUpload.cs
- CmsInterop.cs
- ApplicationSecurityManager.cs
- PerfCounters.cs
- BreadCrumbTextConverter.cs
- RegexWriter.cs
- XmlException.cs
- RelationshipNavigation.cs
- SafeProcessHandle.cs
- EntityDataSourceChangedEventArgs.cs
- StateDesigner.cs
- KeyInstance.cs
- GeometryHitTestResult.cs
- RadioButton.cs
- PasswordBox.cs
- LambdaCompiler.Binary.cs
- EncodingInfo.cs
- TraceSection.cs
- RowUpdatingEventArgs.cs
- GridViewCommandEventArgs.cs
- RawStylusActions.cs
- PluralizationService.cs
- NamespaceEmitter.cs
- ACL.cs
- LateBoundBitmapDecoder.cs
- FileNotFoundException.cs
- AppSecurityManager.cs
- CallId.cs
- DirectionalLight.cs
- LayoutEditorPart.cs
- DrawingAttributes.cs
- FontInfo.cs
- TextRunProperties.cs
- ServiceErrorHandler.cs
- SystemIcmpV6Statistics.cs
- ClientScriptManagerWrapper.cs
- IdentifierService.cs
- FixedStringLookup.cs
- DateTimeOffset.cs
- MethodBuilderInstantiation.cs
- WebEventTraceProvider.cs
- entityreference_tresulttype.cs