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
- ReliabilityContractAttribute.cs
- Matrix3DValueSerializer.cs
- HotSpot.cs
- ImageAttributes.cs
- StoreItemCollection.Loader.cs
- ToolStripHighContrastRenderer.cs
- ModelToObjectValueConverter.cs
- SqlUserDefinedTypeAttribute.cs
- DataGridViewDataErrorEventArgs.cs
- SchemaImporterExtensionsSection.cs
- EnlistmentTraceIdentifier.cs
- DuplicateWaitObjectException.cs
- Converter.cs
- TagMapInfo.cs
- ContentType.cs
- Mutex.cs
- TypeToArgumentTypeConverter.cs
- ObjectDataSource.cs
- ChildrenQuery.cs
- SmiMetaData.cs
- ValidationRule.cs
- StylusPoint.cs
- xamlnodes.cs
- BooleanAnimationBase.cs
- CodeNamespaceImportCollection.cs
- __Error.cs
- BitmapEffectrendercontext.cs
- DoubleLink.cs
- MetadataCache.cs
- TemplateControlCodeDomTreeGenerator.cs
- DataGridViewTextBoxColumn.cs
- ConstructorNeedsTagAttribute.cs
- ApplicationGesture.cs
- BindingList.cs
- ExpressionPrinter.cs
- PersistChildrenAttribute.cs
- ToolStripContentPanel.cs
- UrlMappingsSection.cs
- SocketAddress.cs
- NetSectionGroup.cs
- VirtualizingPanel.cs
- PrimitiveSchema.cs
- RequestCachePolicy.cs
- TypeSchema.cs
- PeerFlooder.cs
- DoubleStorage.cs
- Selector.cs
- FixedSOMPage.cs
- StatusBarItem.cs
- DataSourceControl.cs
- Marshal.cs
- LowerCaseStringConverter.cs
- MultipartContentParser.cs
- AsyncCompletedEventArgs.cs
- SchemaObjectWriter.cs
- TextSpan.cs
- XdrBuilder.cs
- File.cs
- SemanticAnalyzer.cs
- SortableBindingList.cs
- StringFunctions.cs
- WarningException.cs
- JournalEntry.cs
- TagMapInfo.cs
- TextReader.cs
- ManagementNamedValueCollection.cs
- XmlTextAttribute.cs
- DynamicDataRouteHandler.cs
- SharedStatics.cs
- DbSetClause.cs
- ContentType.cs
- CodeEntryPointMethod.cs
- JsonQNameDataContract.cs
- GridViewUpdatedEventArgs.cs
- RowUpdatingEventArgs.cs
- WebPartHelpVerb.cs
- DbResourceAllocator.cs
- BindableAttribute.cs
- PeerEndPoint.cs
- ChildChangedEventArgs.cs
- BCLDebug.cs
- CacheAxisQuery.cs
- StreamGeometry.cs
- SmtpNetworkElement.cs
- DataGridViewBand.cs
- BinaryFormatterWriter.cs
- PropertyGrid.cs
- ErrorInfoXmlDocument.cs
- HttpListenerResponse.cs
- ProcessManager.cs
- ThousandthOfEmRealPoints.cs
- ContextMarshalException.cs
- PageWrapper.cs
- XmlBufferReader.cs
- EncryptedPackageFilter.cs
- CompiledRegexRunnerFactory.cs
- DateBoldEvent.cs
- RTLAwareMessageBox.cs
- StatusBarDrawItemEvent.cs
- InputReferenceExpression.cs