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
- ColumnResult.cs
- TextStore.cs
- BaseDataListComponentEditor.cs
- DbUpdateCommandTree.cs
- EditingCoordinator.cs
- ACL.cs
- WmlTextViewAdapter.cs
- PriorityBindingExpression.cs
- CompilerScope.Storage.cs
- FixedSOMContainer.cs
- EmptyElement.cs
- HtmlInputControl.cs
- ListViewUpdatedEventArgs.cs
- WorkflowInstance.cs
- DateTimeOffsetStorage.cs
- OleDbWrapper.cs
- DropShadowEffect.cs
- DetailsViewDeleteEventArgs.cs
- OpenTypeLayout.cs
- NewItemsContextMenuStrip.cs
- TextStore.cs
- WeakReference.cs
- FormViewPagerRow.cs
- SqlCharStream.cs
- SqlClientWrapperSmiStream.cs
- SeverityFilter.cs
- MemberHolder.cs
- InProcStateClientManager.cs
- DesignerForm.cs
- URLAttribute.cs
- AddInAdapter.cs
- ExceptionValidationRule.cs
- CommonRemoteMemoryBlock.cs
- ValidatingPropertiesEventArgs.cs
- WpfWebRequestHelper.cs
- FieldToken.cs
- MasterPageBuildProvider.cs
- Application.cs
- VectorValueSerializer.cs
- SQLInt64Storage.cs
- ErrorInfoXmlDocument.cs
- InkCanvas.cs
- ConfigurationProperty.cs
- DataObject.cs
- TableItemStyle.cs
- StylusTip.cs
- OverflowException.cs
- RepeaterItem.cs
- uribuilder.cs
- ScriptControlDescriptor.cs
- Table.cs
- CompoundFileReference.cs
- TokenizerHelper.cs
- QueueProcessor.cs
- UrlAuthorizationModule.cs
- MimeParameter.cs
- RepeatBehavior.cs
- BatchWriter.cs
- ExitEventArgs.cs
- TypeExtensionSerializer.cs
- CultureTableRecord.cs
- PersonalizationStateQuery.cs
- CellConstantDomain.cs
- TailCallAnalyzer.cs
- DragEvent.cs
- ChannelManagerBase.cs
- UxThemeWrapper.cs
- SHA384Managed.cs
- CodeCommentStatement.cs
- ConfigViewGenerator.cs
- MailBnfHelper.cs
- AssertFilter.cs
- RootProfilePropertySettingsCollection.cs
- DoubleLink.cs
- XhtmlTextWriter.cs
- VirtualizingPanel.cs
- OutOfProcStateClientManager.cs
- localization.cs
- OnOperation.cs
- DataGridViewMethods.cs
- nulltextcontainer.cs
- VarRefManager.cs
- SQLDecimalStorage.cs
- RowTypePropertyElement.cs
- IntranetCredentialPolicy.cs
- EllipseGeometry.cs
- Roles.cs
- BitmapMetadataBlob.cs
- DefaultWorkflowSchedulerService.cs
- BitmapSource.cs
- EntityContainerEmitter.cs
- AnimationException.cs
- GradientBrush.cs
- HeaderPanel.cs
- NoClickablePointException.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- KerberosReceiverSecurityToken.cs
- EventWaitHandleSecurity.cs
- DataServiceRequestOfT.cs
- CompilationUtil.cs