Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / VirtualDirectoryMappingCollection.cs / 2 / VirtualDirectoryMappingCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Collections; using System.Collections.Specialized; using System.Configuration; using System.Web.Util; using System.Security.Permissions; // // Collection of VirtualDirectoryMappings. // Follows the standard pattern for collections derived from NameObjectCollectionBase. // [Serializable()] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class VirtualDirectoryMappingCollection : NameObjectCollectionBase { public VirtualDirectoryMappingCollection() : base(StringComparer.OrdinalIgnoreCase) { } public ICollection AllKeys { get { return BaseGetAllKeys(); } } public VirtualDirectoryMapping this[string virtualDirectory] { get { virtualDirectory = ValidateVirtualDirectoryParameter(virtualDirectory); return Get(virtualDirectory); } } public VirtualDirectoryMapping this[int index] { get { return Get(index); } } public void Add(string virtualDirectory, VirtualDirectoryMapping mapping) { virtualDirectory = ValidateVirtualDirectoryParameter(virtualDirectory); if (mapping == null) { throw new ArgumentNullException("mapping"); } if (Get(virtualDirectory) != null) { throw ExceptionUtil.ParameterInvalid("virtualDirectory"); } mapping.SetVirtualDirectory(VirtualPath.CreateAbsoluteAllowNull(virtualDirectory)); BaseAdd(virtualDirectory, mapping); } public void Clear() { BaseClear(); } public void CopyTo(VirtualDirectoryMapping[] array, int index) { if (array == null) { throw new ArgumentNullException("array"); } int c = Count; if (array.Length < c + index) { throw new ArgumentOutOfRangeException("index"); } for (int i = 0, j = index; i < c; i++, j++) { array[j] = Get(i); } } public VirtualDirectoryMapping Get(int index) { return (VirtualDirectoryMapping) BaseGet(index); } public VirtualDirectoryMapping Get(string virtualDirectory) { virtualDirectory = ValidateVirtualDirectoryParameter(virtualDirectory); return (VirtualDirectoryMapping) BaseGet(virtualDirectory); } public string GetKey(int index) { return BaseGetKey(index); } public void Remove(string virtualDirectory) { virtualDirectory = ValidateVirtualDirectoryParameter(virtualDirectory); BaseRemove(virtualDirectory); } public void RemoveAt(int index) { BaseRemoveAt(index); } internal VirtualDirectoryMappingCollection Clone() { VirtualDirectoryMappingCollection col = new VirtualDirectoryMappingCollection(); for (int i = 0; i < this.Count; i++) { VirtualDirectoryMapping mapping = this[i]; col.Add(mapping.VirtualDirectory, mapping.Clone()); } return col; } private static string ValidateVirtualDirectoryParameter(string virtualDirectory) { // Create a VirtualPath object to validate the path VirtualPath v = VirtualPath.CreateAbsoluteAllowNull(virtualDirectory); return VirtualPath.GetVirtualPathString(v); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListBoxDesigner.cs
- DbParameterCollection.cs
- MarshalByRefObject.cs
- HttpEncoder.cs
- ListItemCollection.cs
- ServiceDiscoveryElement.cs
- MarkupCompilePass1.cs
- Enum.cs
- FilteredAttributeCollection.cs
- MarkupObject.cs
- SamlSubject.cs
- BezierSegment.cs
- XmlNamespaceDeclarationsAttribute.cs
- ButtonBaseAutomationPeer.cs
- XmlSerializerNamespaces.cs
- PointValueSerializer.cs
- ApplicationContext.cs
- ConfigurationManagerInternalFactory.cs
- ObjectListCommandsPage.cs
- ScrollPattern.cs
- WebPartAuthorizationEventArgs.cs
- UriScheme.cs
- SqlClientWrapperSmiStream.cs
- SecurityState.cs
- FixedPage.cs
- CrossSiteScriptingValidation.cs
- TextTreePropertyUndoUnit.cs
- BatchStream.cs
- BaseParagraph.cs
- SQLCharsStorage.cs
- XhtmlBasicLabelAdapter.cs
- Image.cs
- SizeChangedInfo.cs
- TypeSystemProvider.cs
- SafeCoTaskMem.cs
- ProxyHelper.cs
- ClientSettingsStore.cs
- Native.cs
- EdmSchemaAttribute.cs
- ListView.cs
- WebPartEditorOkVerb.cs
- DependentList.cs
- WindowsFormsHost.cs
- TextBoxBase.cs
- ValuePattern.cs
- SmtpClient.cs
- RotateTransform.cs
- FixedBufferAttribute.cs
- StorageAssociationSetMapping.cs
- ThreadNeutralSemaphore.cs
- RowVisual.cs
- BaseComponentEditor.cs
- ExpressionTable.cs
- CompositeActivityTypeDescriptor.cs
- remotingproxy.cs
- CodeDefaultValueExpression.cs
- ProfileManager.cs
- StreamedWorkflowDefinitionContext.cs
- BindingNavigator.cs
- FixedSOMContainer.cs
- BaseCollection.cs
- SectionRecord.cs
- LinqDataView.cs
- TabControlCancelEvent.cs
- ObsoleteAttribute.cs
- SqlReorderer.cs
- LineGeometry.cs
- _NTAuthentication.cs
- IPGlobalProperties.cs
- FlowSwitchLink.cs
- ClientTargetSection.cs
- HttpRequest.cs
- WorkflowServiceHost.cs
- DataServiceClientException.cs
- SqlParameterCollection.cs
- HitTestResult.cs
- SharedPersonalizationStateInfo.cs
- PenContexts.cs
- ObjectHandle.cs
- XmlDataDocument.cs
- UnitControl.cs
- OSFeature.cs
- CryptoSession.cs
- EventHandlersStore.cs
- DataGridViewCellPaintingEventArgs.cs
- ProxyGenerator.cs
- BaseDataList.cs
- CollectionChangeEventArgs.cs
- EntityContainer.cs
- PasswordBox.cs
- PrintingPermission.cs
- JsonSerializer.cs
- ServiceControllerDesigner.cs
- HeaderedItemsControl.cs
- Events.cs
- MimePart.cs
- QilFactory.cs
- SQLInt16.cs
- DataGridViewSortCompareEventArgs.cs
- DesignTimeParseData.cs