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
- CryptographicAttribute.cs
- GridItemCollection.cs
- ProcessModule.cs
- HwndMouseInputProvider.cs
- RawStylusSystemGestureInputReport.cs
- ExpressionBuilderContext.cs
- InstanceBehavior.cs
- TagPrefixInfo.cs
- WebHostUnsafeNativeMethods.cs
- DesignerRegionMouseEventArgs.cs
- WindowsFont.cs
- QueryMath.cs
- NativeRecognizer.cs
- ListViewInsertionMark.cs
- SQLDateTime.cs
- CodeTypeDelegate.cs
- TreeNodeBinding.cs
- ProxyGenerationError.cs
- Visitors.cs
- SymmetricKeyWrap.cs
- SortedDictionary.cs
- XmlSchemaAny.cs
- ResourceDictionary.cs
- GridSplitterAutomationPeer.cs
- StringSorter.cs
- InstanceLockedException.cs
- SkinBuilder.cs
- EnvironmentPermission.cs
- xsdvalidator.cs
- CompressedStack.cs
- NativeMethods.cs
- AddInAttribute.cs
- GridViewAutoFormat.cs
- SrgsNameValueTag.cs
- EllipticalNodeOperations.cs
- SystemInfo.cs
- ListViewGroupConverter.cs
- EntitySetBaseCollection.cs
- WebRequest.cs
- ErrorInfoXmlDocument.cs
- TextCompositionEventArgs.cs
- PolyLineSegment.cs
- Hashtable.cs
- OverrideMode.cs
- WebPartConnectionCollection.cs
- ObjectQueryState.cs
- DataGridViewCell.cs
- MailAddress.cs
- EntityUtil.cs
- ByteStream.cs
- LayoutInformation.cs
- BoundColumn.cs
- XmlSchemaSequence.cs
- Int32Collection.cs
- TouchEventArgs.cs
- IdentityHolder.cs
- FormatSettings.cs
- SharedConnectionInfo.cs
- NamespaceListProperty.cs
- IntSecurity.cs
- ContainerFilterService.cs
- XmlHierarchicalDataSourceView.cs
- XmlParserContext.cs
- Helper.cs
- PropertyValueUIItem.cs
- SineEase.cs
- QilLiteral.cs
- SqlUdtInfo.cs
- XmlnsDictionary.cs
- CodeIdentifiers.cs
- SmiSettersStream.cs
- EventlogProvider.cs
- TemplateKeyConverter.cs
- RTLAwareMessageBox.cs
- ReservationNotFoundException.cs
- UpdateManifestForBrowserApplication.cs
- InputLanguageSource.cs
- HtmlControl.cs
- ExpressionBuilderCollection.cs
- SiteMapNodeItemEventArgs.cs
- Filter.cs
- LinearQuaternionKeyFrame.cs
- MessageSmuggler.cs
- DataGridHelper.cs
- RSACryptoServiceProvider.cs
- Rectangle.cs
- AtlasWeb.Designer.cs
- ObjectNotFoundException.cs
- OdbcRowUpdatingEvent.cs
- DataAdapter.cs
- HtmlFormParameterWriter.cs
- FileIOPermission.cs
- ImageList.cs
- LinkDescriptor.cs
- grammarelement.cs
- TemplatedMailWebEventProvider.cs
- XsdDateTime.cs
- ManualWorkflowSchedulerService.cs
- VarRemapper.cs
- BrowserDefinition.cs