Code:
/ FX-1434 / FX-1434 / 1.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
- COM2TypeInfoProcessor.cs
- CaseExpr.cs
- UserInitiatedNavigationPermission.cs
- AudioSignalProblemOccurredEventArgs.cs
- FieldBuilder.cs
- OleDbFactory.cs
- Cell.cs
- ValidatingReaderNodeData.cs
- UserControlParser.cs
- Grant.cs
- ScalarOps.cs
- ACL.cs
- _IPv6Address.cs
- Query.cs
- ResourceDescriptionAttribute.cs
- MenuItemBinding.cs
- StaticDataManager.cs
- ForEachAction.cs
- XsdDuration.cs
- GridProviderWrapper.cs
- DmlSqlGenerator.cs
- SqlStream.cs
- ArgumentOutOfRangeException.cs
- ClientEventManager.cs
- AppDomainManager.cs
- InternalTransaction.cs
- XmlAggregates.cs
- AuthenticateEventArgs.cs
- RequestCacheValidator.cs
- BamlBinaryReader.cs
- OpenTypeCommon.cs
- Int32RectConverter.cs
- versioninfo.cs
- _ServiceNameStore.cs
- HttpModulesSection.cs
- InputGestureCollection.cs
- TextElement.cs
- DrawingState.cs
- ColumnTypeConverter.cs
- VisemeEventArgs.cs
- ButtonBaseAutomationPeer.cs
- ObservableDictionary.cs
- DataTemplate.cs
- CounterCreationDataConverter.cs
- MsmqBindingBase.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- MsmqIntegrationSecurity.cs
- ClassicBorderDecorator.cs
- EdmValidator.cs
- RawTextInputReport.cs
- TextSegment.cs
- MessageDispatch.cs
- LeafCellTreeNode.cs
- ComponentManagerBroker.cs
- PasswordTextContainer.cs
- EnumValidator.cs
- OrderedEnumerableRowCollection.cs
- ResourceProperty.cs
- IsolatedStoragePermission.cs
- PermissionRequestEvidence.cs
- ToolStripItemImageRenderEventArgs.cs
- OverflowException.cs
- PeerService.cs
- PropertyGridEditorPart.cs
- RichTextBoxAutomationPeer.cs
- HtmlInputHidden.cs
- Rfc2898DeriveBytes.cs
- SetterBaseCollection.cs
- DayRenderEvent.cs
- RequestCachePolicyConverter.cs
- FragmentNavigationEventArgs.cs
- NCryptNative.cs
- ProcessModelInfo.cs
- XmlReaderSettings.cs
- GetWinFXPath.cs
- ApplicationInfo.cs
- ListControlConvertEventArgs.cs
- _UncName.cs
- GeneralTransformCollection.cs
- XPathDescendantIterator.cs
- MetadataArtifactLoaderResource.cs
- SoapUnknownHeader.cs
- MethodBody.cs
- IUnknownConstantAttribute.cs
- ClientScriptManagerWrapper.cs
- GridLengthConverter.cs
- AppDomainShutdownMonitor.cs
- DbConnectionOptions.cs
- CryptoStream.cs
- ConfigurationSectionGroup.cs
- EllipticalNodeOperations.cs
- LocationEnvironment.cs
- HttpProfileGroupBase.cs
- FormViewRow.cs
- ResourceCodeDomSerializer.cs
- ToolStripMenuItem.cs
- PackageStore.cs
- HtmlEmptyTagControlBuilder.cs
- VerbConverter.cs
- CancelEventArgs.cs