Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / XPathMessageFilterElementCollection.cs / 1 / XPathMessageFilterElementCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.ServiceModel.Dispatcher; using System.Configuration; using System.Globalization; using System.ServiceModel; [ConfigurationCollection(typeof(XPathMessageFilterElement))] public sealed class XPathMessageFilterElementCollection : ServiceModelConfigurationElementCollection{ public XPathMessageFilterElementCollection() : base(ConfigurationElementCollectionType.AddRemoveClearMap, null, new XPathMessageFilterElementComparer()) { } public override bool ContainsKey(object key) { if (key == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("key"); } string newKey = string.Empty; if (key.GetType().IsAssignableFrom(typeof(XPathMessageFilter))) { newKey = XPathMessageFilterElementComparer.ParseXPathString((XPathMessageFilter)key); } else if (key.GetType().IsAssignableFrom(typeof(string))) { newKey = (string)key; } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR.GetString(SR.ConfigInvalidKeyType, "XPathMessageFilterElement", typeof(XPathMessageFilter).AssemblyQualifiedName, key.GetType().AssemblyQualifiedName))); } return base.ContainsKey(newKey); } protected override Object GetElementKey(ConfigurationElement element) { if (element == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element"); } XPathMessageFilterElement configElement = (XPathMessageFilterElement)element; if (configElement.Filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("element", SR.GetString(SR.ConfigXPathFilterIsNull)); } return XPathMessageFilterElementComparer.ParseXPathString(configElement.Filter); } protected override ConfigurationPropertyCollection Properties { get { return new ConfigurationPropertyCollection(); } } public override XPathMessageFilterElement this[object key] { get { if (key == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("key"); } if (!key.GetType().IsAssignableFrom(typeof(XPathMessageFilter))) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR.GetString(SR.ConfigInvalidKeyType, "XPathMessageFilterElement", typeof(XPathMessageFilter).AssemblyQualifiedName, key.GetType().AssemblyQualifiedName))); } XPathMessageFilterElement retval = (XPathMessageFilterElement)this.BaseGet(key); if (retval == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new System.Collections.Generic.KeyNotFoundException( SR.GetString(SR.ConfigKeyNotFoundInElementCollection, key.ToString()))); } return retval; } set { if (this.IsReadOnly()) { Add(value); } if (value == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value"); } if (key == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("key"); } if (!key.GetType().IsAssignableFrom(typeof(XPathMessageFilter))) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR.GetString(SR.ConfigInvalidKeyType, "XPathMessageFilterElement", typeof(XPathMessageFilter).AssemblyQualifiedName, key.GetType().AssemblyQualifiedName))); } string oldKey = XPathMessageFilterElementComparer.ParseXPathString((XPathMessageFilter)key); string newKey = (string)this.GetElementKey(value); if (String.Equals(oldKey, newKey, StringComparison.Ordinal)) { if (BaseGet(key) != null) { BaseRemove(key); } Add(value); } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.ConfigKeysDoNotMatch, this.GetElementKey(value).ToString(), key.ToString())); } } } } } // 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
- KeyValueSerializer.cs
- XmlStringTable.cs
- _DisconnectOverlappedAsyncResult.cs
- CodeTypeParameter.cs
- CreateUserErrorEventArgs.cs
- OutOfMemoryException.cs
- OleDbStruct.cs
- UncommonField.cs
- SimpleType.cs
- OracleColumn.cs
- DataServiceOperationContext.cs
- ConnectionManagementElement.cs
- LinearKeyFrames.cs
- PersonalizationDictionary.cs
- PenThread.cs
- AuthenticationModuleElement.cs
- InternalBase.cs
- LoggedException.cs
- CaseInsensitiveOrdinalStringComparer.cs
- CharacterBuffer.cs
- TagPrefixCollection.cs
- XamlTreeBuilder.cs
- BlobPersonalizationState.cs
- IPGlobalProperties.cs
- Aes.cs
- SplineKeyFrames.cs
- RouteParametersHelper.cs
- AnnotationComponentChooser.cs
- ByteStack.cs
- IChannel.cs
- StorageRoot.cs
- PngBitmapEncoder.cs
- DataRowCollection.cs
- MetaDataInfo.cs
- XmlHierarchyData.cs
- DeclarativeCatalogPartDesigner.cs
- BufferedWebEventProvider.cs
- SqlWebEventProvider.cs
- Metadata.cs
- Vector3DAnimation.cs
- Timer.cs
- ResourceExpressionBuilder.cs
- TextRenderingModeValidation.cs
- GlyphRun.cs
- ContextStaticAttribute.cs
- PackageStore.cs
- ToolStripContentPanel.cs
- ConvertTextFrag.cs
- RootProfilePropertySettingsCollection.cs
- StringExpressionSet.cs
- Control.cs
- TraceHwndHost.cs
- HttpProfileGroupBase.cs
- MimeMultiPart.cs
- SymbolPair.cs
- NonValidatingSecurityTokenAuthenticator.cs
- DisableDpiAwarenessAttribute.cs
- CompositeClientFormatter.cs
- MachineKeySection.cs
- TdsParserHelperClasses.cs
- EntityModelSchemaGenerator.cs
- BidirectionalDictionary.cs
- Timer.cs
- WebServiceData.cs
- DSASignatureFormatter.cs
- XmlElement.cs
- DataGridPageChangedEventArgs.cs
- OutputCacheModule.cs
- DesignerActionVerbList.cs
- FormViewInsertedEventArgs.cs
- ProfessionalColorTable.cs
- NopReturnReader.cs
- DataGridViewControlCollection.cs
- WeakRefEnumerator.cs
- Int16Converter.cs
- FieldTemplateFactory.cs
- UriParserTemplates.cs
- CollectionChangedEventManager.cs
- XPathDocument.cs
- StreamInfo.cs
- ELinqQueryState.cs
- HttpProcessUtility.cs
- ByteAnimationUsingKeyFrames.cs
- DataServiceException.cs
- BidOverLoads.cs
- XslTransform.cs
- ImageSourceValueSerializer.cs
- CharacterMetrics.cs
- FastEncoder.cs
- TreeNodeCollection.cs
- NullableLongAverageAggregationOperator.cs
- AppDomainFactory.cs
- Document.cs
- XmlReflectionMember.cs
- PasswordPropertyTextAttribute.cs
- DirectoryInfo.cs
- webproxy.cs
- WebPartsPersonalizationAuthorization.cs
- filewebresponse.cs
- ScrollBarRenderer.cs