Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / UriSchemeKeyedCollection.cs / 1 / UriSchemeKeyedCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel { using System; using System.Collections.Generic; using System.Runtime.Serialization; public class UriSchemeKeyedCollection : SynchronizedKeyedCollection{ internal UriSchemeKeyedCollection(object syncRoot) : base(syncRoot) { } public UriSchemeKeyedCollection(params Uri[] addresses) { if (addresses == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("addresses"); for (int i = 0; i < addresses.Length; i++) { this.Add(addresses[i]); } } protected override string GetKeyForItem(Uri item) { return item.Scheme; } protected override void InsertItem(int index, Uri item) { ValidateBaseAddress(item, "item"); if (this.Contains(item.Scheme)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("item", SR.GetString(SR.BaseAddressDuplicateScheme, item.Scheme)); base.InsertItem(index, item); } protected override void SetItem(int index, Uri item) { ValidateBaseAddress(item, "item"); if (this[index].Scheme != item.Scheme) { if (this.Contains(item.Scheme)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("item", SR.GetString(SR.BaseAddressDuplicateScheme, item.Scheme)); } base.SetItem(index, item); } internal static void ValidateBaseAddress(Uri uri, string argumentName) { if (uri == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(argumentName); } if (!uri.IsAbsoluteUri) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressMustBeAbsolute)); } if (!string.IsNullOrEmpty(uri.UserInfo)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressCannotHaveUserInfo)); } if (!string.IsNullOrEmpty(uri.Query)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressCannotHaveQuery)); } if (!string.IsNullOrEmpty(uri.Fragment)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressCannotHaveFragment)); } } } } // 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
- BuildResultCache.cs
- IsolatedStorageFilePermission.cs
- DeviceContext.cs
- RequestCachePolicyConverter.cs
- EventRoute.cs
- RegexWorker.cs
- LinqDataSourceInsertEventArgs.cs
- PerfCounterSection.cs
- TreeViewHitTestInfo.cs
- XmlSchemaDocumentation.cs
- WebPartZoneCollection.cs
- UnionCodeGroup.cs
- ZipIOLocalFileDataDescriptor.cs
- ValueTypeFixupInfo.cs
- OleDbError.cs
- ColumnMap.cs
- MulticastNotSupportedException.cs
- SafeRegistryHandle.cs
- FixedNode.cs
- WebUtil.cs
- EditorPartCollection.cs
- OdbcTransaction.cs
- Int32KeyFrameCollection.cs
- DistributedTransactionPermission.cs
- ElementsClipboardData.cs
- EntityTypeEmitter.cs
- Control.cs
- Border.cs
- ISCIIEncoding.cs
- PropertyConverter.cs
- PowerStatus.cs
- ArrayHelper.cs
- TypeFieldSchema.cs
- WorkflowEnvironment.cs
- CustomTrackingRecord.cs
- ShortcutKeysEditor.cs
- HtmlHead.cs
- ApplicationActivator.cs
- HtmlButton.cs
- StrongNameUtility.cs
- WindowsClientCredential.cs
- BooleanKeyFrameCollection.cs
- HasRunnableWorkflowEvent.cs
- Attribute.cs
- NameTable.cs
- TemplateNameScope.cs
- StrokeFIndices.cs
- EmptyStringExpandableObjectConverter.cs
- SqlRewriteScalarSubqueries.cs
- PropertyCondition.cs
- SqlInternalConnectionTds.cs
- SqlWriter.cs
- XPathQilFactory.cs
- XXXInfos.cs
- ReferentialConstraint.cs
- DynamicRenderer.cs
- TextRangeEdit.cs
- SqlServer2KCompatibilityCheck.cs
- ErrorRuntimeConfig.cs
- ResXDataNode.cs
- Style.cs
- FormattedTextSymbols.cs
- StyleTypedPropertyAttribute.cs
- HttpHandlerAction.cs
- FormattedText.cs
- DbParameterCollection.cs
- SqlConnectionHelper.cs
- TemplatePartAttribute.cs
- SafeNativeMethods.cs
- SystemWebCachingSectionGroup.cs
- BitmapVisualManager.cs
- X509SecurityTokenAuthenticator.cs
- AnonymousIdentificationModule.cs
- CompensatableTransactionScopeActivity.cs
- MultilineStringConverter.cs
- CompositeDataBoundControl.cs
- TargetFrameworkAttribute.cs
- SQLInt64.cs
- ProfileSettings.cs
- TagMapCollection.cs
- Main.cs
- Soap12FormatExtensions.cs
- Object.cs
- ExclusiveTcpTransportManager.cs
- BitmapInitialize.cs
- SystemIPv6InterfaceProperties.cs
- DrawingGroup.cs
- GeometryCollection.cs
- TransformGroup.cs
- ProcessHostServerConfig.cs
- Command.cs
- ISessionStateStore.cs
- GPRECT.cs
- Int16.cs
- DataSourceControl.cs
- ManagementOptions.cs
- Propagator.cs
- TypeTypeConverter.cs
- XmlBinaryReader.cs
- XsltContext.cs