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
- LoginNameDesigner.cs
- ToolbarAUtomationPeer.cs
- BindingMemberInfo.cs
- SoapIgnoreAttribute.cs
- VirtualizingPanel.cs
- DataSourceControlBuilder.cs
- Zone.cs
- CqlErrorHelper.cs
- XmlSchemaComplexContentExtension.cs
- EncoderReplacementFallback.cs
- ToolStripItemTextRenderEventArgs.cs
- CalloutQueueItem.cs
- WebPartDeleteVerb.cs
- DataGridColumnCollectionEditor.cs
- BrowserCapabilitiesFactoryBase.cs
- AspNetPartialTrustHelpers.cs
- WebPartVerbCollection.cs
- List.cs
- XpsS0ValidatingLoader.cs
- XPathDocument.cs
- AudioFormatConverter.cs
- DataBindingHandlerAttribute.cs
- DbSource.cs
- WorkflowValidationFailedException.cs
- BufferAllocator.cs
- ComplexObject.cs
- SecuritySessionSecurityTokenProvider.cs
- HashMembershipCondition.cs
- GeneralTransform2DTo3DTo2D.cs
- IpcClientManager.cs
- WindowsFormsHelpers.cs
- MemoryFailPoint.cs
- LabelDesigner.cs
- ToolStrip.cs
- TreeViewItem.cs
- ComMethodElementCollection.cs
- UTF8Encoding.cs
- HttpContext.cs
- EdmConstants.cs
- SafeLocalMemHandle.cs
- ContextMenuStripGroupCollection.cs
- RegexCaptureCollection.cs
- DataBoundControlAdapter.cs
- PageClientProxyGenerator.cs
- EntityDataSourceDesignerHelper.cs
- ListSortDescription.cs
- OleDbWrapper.cs
- StorageTypeMapping.cs
- SignHashRequest.cs
- EmptyControlCollection.cs
- EntityCollection.cs
- Misc.cs
- ComponentCommands.cs
- HttpCacheParams.cs
- EntityDataSource.cs
- DbTransaction.cs
- Single.cs
- BooleanConverter.cs
- GridViewDeletedEventArgs.cs
- MetadataItem_Static.cs
- ToolStripItemGlyph.cs
- JsonQNameDataContract.cs
- CreateUserWizardStep.cs
- DeferrableContentConverter.cs
- ArgumentValue.cs
- UserInitiatedRoutedEventPermission.cs
- PackUriHelper.cs
- SynchronizedChannelCollection.cs
- DataGridViewTopLeftHeaderCell.cs
- NumberFunctions.cs
- ValidateNames.cs
- SoapMessage.cs
- SoapMessage.cs
- EventsTab.cs
- TextServicesDisplayAttribute.cs
- SimpleBitVector32.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- ScrollPattern.cs
- SortDescriptionCollection.cs
- Point4DValueSerializer.cs
- HashAlgorithm.cs
- ContentType.cs
- Double.cs
- PostBackOptions.cs
- Schema.cs
- AudioStateChangedEventArgs.cs
- WorkflowFileItem.cs
- CodeDomDecompiler.cs
- ValidatorCompatibilityHelper.cs
- XhtmlBasicPageAdapter.cs
- LinkedList.cs
- CacheModeValueSerializer.cs
- IndentTextWriter.cs
- RotateTransform3D.cs
- MarkupObject.cs
- ToolStripPanelSelectionGlyph.cs
- Fonts.cs
- RevocationPoint.cs
- AlphabeticalEnumConverter.cs
- MDIClient.cs