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
- Debug.cs
- ClientProxyGenerator.cs
- WebReferencesBuildProvider.cs
- Wrapper.cs
- TypeAccessException.cs
- IdentityManager.cs
- ThicknessAnimation.cs
- Link.cs
- ExtentJoinTreeNode.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- WebPartHeaderCloseVerb.cs
- ComponentDispatcher.cs
- FixedElement.cs
- EntityContainerEntitySet.cs
- InstalledFontCollection.cs
- SessionIDManager.cs
- IdentityManager.cs
- VScrollProperties.cs
- FixedTextBuilder.cs
- ReachPageContentCollectionSerializer.cs
- ReferencedCollectionType.cs
- InputLanguageProfileNotifySink.cs
- ServiceModelEnumValidatorAttribute.cs
- StructuredProperty.cs
- ConfigurationException.cs
- SelectedDatesCollection.cs
- NavigatorOutput.cs
- ColorContext.cs
- ThreadAbortException.cs
- RC2CryptoServiceProvider.cs
- CompareInfo.cs
- SizeConverter.cs
- DataGridViewDataErrorEventArgs.cs
- _ConnectionGroup.cs
- UnmanagedMarshal.cs
- WebPartConnectionsDisconnectVerb.cs
- FrameworkElementFactoryMarkupObject.cs
- TableLayoutSettings.cs
- EndPoint.cs
- QueryCacheKey.cs
- TriggerActionCollection.cs
- ScriptResourceAttribute.cs
- CultureSpecificCharacterBufferRange.cs
- BuildProvidersCompiler.cs
- HtmlContainerControl.cs
- UnionExpr.cs
- KnownTypeDataContractResolver.cs
- ImageDrawing.cs
- WebPartConnectionsCloseVerb.cs
- metadatamappinghashervisitor.cs
- WsdlBuildProvider.cs
- EdmType.cs
- ProtectedConfiguration.cs
- UInt16Storage.cs
- FigureHelper.cs
- ComponentDispatcherThread.cs
- SharedPersonalizationStateInfo.cs
- NavigationProgressEventArgs.cs
- ToolBar.cs
- StaticContext.cs
- QuaternionAnimation.cs
- PolicyConversionContext.cs
- SettingsPropertyValue.cs
- LinqTreeNodeEvaluator.cs
- DataGridColumn.cs
- ObjectViewQueryResultData.cs
- SignatureResourcePool.cs
- NameValueConfigurationElement.cs
- TreeView.cs
- FormsAuthenticationCredentials.cs
- ModuleBuilder.cs
- MenuItem.cs
- IOThreadScheduler.cs
- ViewBase.cs
- Scalars.cs
- BinaryUtilClasses.cs
- InputScopeConverter.cs
- HandleScope.cs
- MaterializeFromAtom.cs
- XmlSortKey.cs
- ProcessModelSection.cs
- WindowsTitleBar.cs
- HtmlSelect.cs
- FormatConvertedBitmap.cs
- HierarchicalDataSourceIDConverter.cs
- Timer.cs
- XmlEncoding.cs
- StrokeCollection2.cs
- ConfigurationSettings.cs
- DesignerDataSourceView.cs
- BatchParser.cs
- ValidatedControlConverter.cs
- XmlSchemaValidator.cs
- ClientUtils.cs
- GridItem.cs
- BitmapPalettes.cs
- CompiledIdentityConstraint.cs
- xmlfixedPageInfo.cs
- TextBox.cs
- ImplicitInputBrush.cs