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
- TypeElementCollection.cs
- XmlUtilWriter.cs
- ScalarOps.cs
- ComponentDesigner.cs
- ColorTranslator.cs
- InputLanguageCollection.cs
- DocumentViewerConstants.cs
- TrustManagerPromptUI.cs
- DelegateArgumentValue.cs
- WindowsSspiNegotiation.cs
- SaveCardRequest.cs
- ModelItemImpl.cs
- GridViewColumnHeader.cs
- UtilityExtension.cs
- ReadOnlyTernaryTree.cs
- FileClassifier.cs
- StyleSheetRefUrlEditor.cs
- BitStack.cs
- documentsequencetextpointer.cs
- ClientTargetCollection.cs
- MsmqIntegrationBindingCollectionElement.cs
- HyperLinkStyle.cs
- DoubleConverter.cs
- XmlWriter.cs
- FilteredDataSetHelper.cs
- EdmItemError.cs
- ContextDataSourceContextData.cs
- AppDomainManager.cs
- GeneralTransform3D.cs
- ControlCodeDomSerializer.cs
- ContextProperty.cs
- ProtocolsSection.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- PointAnimation.cs
- HttpModuleActionCollection.cs
- SiteMembershipCondition.cs
- CodeTypeDeclarationCollection.cs
- FileSystemInfo.cs
- FamilyMapCollection.cs
- NodeLabelEditEvent.cs
- XmlSchemaType.cs
- DirectoryInfo.cs
- OdbcConnection.cs
- EntityKeyElement.cs
- FullTextState.cs
- ImageConverter.cs
- NameValuePair.cs
- StreamInfo.cs
- AppDomainAttributes.cs
- ListenDesigner.cs
- FormViewUpdateEventArgs.cs
- RegisteredScript.cs
- SystemIcmpV4Statistics.cs
- ProxyWebPart.cs
- MasterPageParser.cs
- __ComObject.cs
- ManagementBaseObject.cs
- ParenthesizePropertyNameAttribute.cs
- EncoderFallback.cs
- SystemException.cs
- LiteralTextContainerControlBuilder.cs
- FileEnumerator.cs
- wmiutil.cs
- DesignBinding.cs
- ModifierKeysConverter.cs
- OleDbSchemaGuid.cs
- ThrowHelper.cs
- ParserStreamGeometryContext.cs
- WebMessageFormatHelper.cs
- Propagator.JoinPropagator.cs
- KnownTypesProvider.cs
- BooleanToVisibilityConverter.cs
- BuildDependencySet.cs
- OperationCanceledException.cs
- TreeViewImageKeyConverter.cs
- DelegatedStream.cs
- MappingItemCollection.cs
- DataGrid.cs
- Point3DConverter.cs
- TdsValueSetter.cs
- ModuleConfigurationInfo.cs
- DataGridTablesFactory.cs
- FreezableCollection.cs
- HtmlInputText.cs
- MenuAutomationPeer.cs
- smtppermission.cs
- CodeFieldReferenceExpression.cs
- SubqueryTrackingVisitor.cs
- WebPartVerb.cs
- Identity.cs
- BaseCAMarshaler.cs
- ExpressionPrinter.cs
- DataBoundControlHelper.cs
- InputMethod.cs
- EdmToObjectNamespaceMap.cs
- BitmapEffectDrawingContent.cs
- PartialCachingControl.cs
- Geometry.cs
- XmlComplianceUtil.cs
- RelationshipConstraintValidator.cs