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
- Model3D.cs
- EDesignUtil.cs
- PointAnimationUsingPath.cs
- CqlLexer.cs
- LinqDataSource.cs
- SystemTcpStatistics.cs
- LayoutExceptionEventArgs.cs
- FileVersion.cs
- SecurityUtils.cs
- Codec.cs
- DBAsyncResult.cs
- metadatamappinghashervisitor.cs
- assertwrapper.cs
- ContentType.cs
- AppearanceEditorPart.cs
- Internal.cs
- DoubleKeyFrameCollection.cs
- AttributeTableBuilder.cs
- OneToOneMappingSerializer.cs
- XpsSerializationManagerAsync.cs
- DecoratedNameAttribute.cs
- TrackingRecord.cs
- LineInfo.cs
- XpsFontSerializationService.cs
- WriterOutput.cs
- QueryLifecycle.cs
- MonikerProxyAttribute.cs
- SQLBinaryStorage.cs
- EntitySetRetriever.cs
- _NTAuthentication.cs
- TabControlAutomationPeer.cs
- NavigationExpr.cs
- ContentPathSegment.cs
- SqlProvider.cs
- TerminatorSinks.cs
- TokenBasedSetEnumerator.cs
- ThreadLocal.cs
- UpdateCommand.cs
- AliasedExpr.cs
- ObjectSpanRewriter.cs
- RegexTree.cs
- MenuItem.cs
- TextProperties.cs
- FactoryGenerator.cs
- ErrorFormatter.cs
- WebPartsPersonalization.cs
- SqlRemoveConstantOrderBy.cs
- Brush.cs
- UnsafeNativeMethods.cs
- EventLogException.cs
- ApplicationFileCodeDomTreeGenerator.cs
- FormParameter.cs
- ValidationService.cs
- RtfFormatStack.cs
- CopyOfAction.cs
- PrintPreviewDialog.cs
- ColorComboBox.cs
- documentsequencetextcontainer.cs
- wgx_render.cs
- OperationCanceledException.cs
- VBCodeProvider.cs
- NameTable.cs
- SeekableReadStream.cs
- CatalogPart.cs
- XmlAttributes.cs
- LongValidator.cs
- Helper.cs
- SafeProcessHandle.cs
- ColumnBinding.cs
- DrawToolTipEventArgs.cs
- Stream.cs
- AutomationProperties.cs
- ApplicationSecurityManager.cs
- NegationPusher.cs
- CollectionCodeDomSerializer.cs
- UdpUtility.cs
- ProxySimple.cs
- SchemaImporterExtensionElement.cs
- Cursors.cs
- InvalidPropValue.cs
- TextEditorDragDrop.cs
- LogSwitch.cs
- ImagingCache.cs
- Label.cs
- DropDownList.cs
- HtmlInputPassword.cs
- GenericTextProperties.cs
- SafeNativeMethods.cs
- GeometryCollection.cs
- CompilationSection.cs
- Matrix.cs
- EncoderParameters.cs
- InternalConfigConfigurationFactory.cs
- Int16Storage.cs
- rsa.cs
- SimpleWorkerRequest.cs
- SqlVersion.cs
- InvokeMethodActivity.cs
- TypeValidationEventArgs.cs
- PublisherIdentityPermission.cs