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
- PolyBezierSegmentFigureLogic.cs
- Region.cs
- ResolveMatchesMessage11.cs
- Encoding.cs
- DrawingAttributes.cs
- PageFunction.cs
- Touch.cs
- TypeCodeDomSerializer.cs
- DefaultValueMapping.cs
- BooleanSwitch.cs
- BitmapInitialize.cs
- DockAndAnchorLayout.cs
- thaishape.cs
- ObjectContextServiceProvider.cs
- SQLChars.cs
- Missing.cs
- OptimisticConcurrencyException.cs
- XmlRootAttribute.cs
- SessionSwitchEventArgs.cs
- RelOps.cs
- DefaultTraceListener.cs
- ValidatedControlConverter.cs
- DataGridItem.cs
- XmlCharCheckingReader.cs
- LocalizeDesigner.cs
- XmlTextWriter.cs
- Attributes.cs
- AppSettingsReader.cs
- CodeLabeledStatement.cs
- OdbcReferenceCollection.cs
- SchemaConstraints.cs
- CrossAppDomainChannel.cs
- WindowPattern.cs
- RbTree.cs
- CustomAttribute.cs
- DesignerObjectListAdapter.cs
- Int32RectValueSerializer.cs
- KnownTypesHelper.cs
- CodeRegionDirective.cs
- SmiTypedGetterSetter.cs
- ConnectionManagementSection.cs
- indexingfiltermarshaler.cs
- FlowDocumentFormatter.cs
- Convert.cs
- EventSinkActivity.cs
- DtrList.cs
- ParserStreamGeometryContext.cs
- EntitySqlQueryCacheEntry.cs
- MultiAsyncResult.cs
- ReceiveMessageContent.cs
- SiteMapNodeItem.cs
- TimeSpanConverter.cs
- IsolatedStorageFilePermission.cs
- TextRangeEdit.cs
- UiaCoreProviderApi.cs
- RegexParser.cs
- NonBatchDirectoryCompiler.cs
- DiffuseMaterial.cs
- BulletedList.cs
- XmlSchemaSimpleContent.cs
- TableItemPatternIdentifiers.cs
- DataReceivedEventArgs.cs
- AsyncInvokeOperation.cs
- OrderablePartitioner.cs
- MetricEntry.cs
- SystemWebSectionGroup.cs
- RSAOAEPKeyExchangeFormatter.cs
- ItemType.cs
- WebPartDisplayModeCollection.cs
- RichTextBoxAutomationPeer.cs
- ConfigurationManagerInternal.cs
- PenThreadWorker.cs
- VariableQuery.cs
- SqlWebEventProvider.cs
- LayoutSettings.cs
- PropertyValueUIItem.cs
- CancellationState.cs
- WebPart.cs
- SchemaNamespaceManager.cs
- WinEventTracker.cs
- _SafeNetHandles.cs
- HtmlInputText.cs
- RTLAwareMessageBox.cs
- AnnotationResourceCollection.cs
- LinqDataSourceHelper.cs
- DefaultParameterValueAttribute.cs
- SqlDataSourceRefreshSchemaForm.cs
- TypeNameParser.cs
- DbMetaDataFactory.cs
- ChangeNode.cs
- DockPanel.cs
- SaveFileDialog.cs
- OverlappedAsyncResult.cs
- GroupBoxAutomationPeer.cs
- IDReferencePropertyAttribute.cs
- TemplateContentLoader.cs
- XmlSchemaIdentityConstraint.cs
- WebConfigurationHostFileChange.cs
- DateRangeEvent.cs
- RegexInterpreter.cs