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
- DocumentStream.cs
- DelayedRegex.cs
- WizardPanelChangingEventArgs.cs
- _CacheStreams.cs
- HtmlPanelAdapter.cs
- DoubleLink.cs
- Publisher.cs
- AnonymousIdentificationModule.cs
- FileStream.cs
- AccessDataSource.cs
- ObjectDataSourceEventArgs.cs
- RichTextBoxAutomationPeer.cs
- PersonalizationProvider.cs
- PackageDigitalSignature.cs
- RadioButtonFlatAdapter.cs
- BasePropertyDescriptor.cs
- MsmqIntegrationProcessProtocolHandler.cs
- basecomparevalidator.cs
- _DomainName.cs
- RegexTree.cs
- XamlFilter.cs
- DictionaryGlobals.cs
- CheckBoxRenderer.cs
- EncryptedXml.cs
- ResourceAssociationTypeEnd.cs
- LocalizationCodeDomSerializer.cs
- VirtualPath.cs
- DataSet.cs
- XmlSchemaSimpleTypeUnion.cs
- DispatchChannelSink.cs
- RijndaelManagedTransform.cs
- XmlSchemaObject.cs
- ScriptResourceInfo.cs
- EnterpriseServicesHelper.cs
- SessionPageStateSection.cs
- ClosableStream.cs
- DependencySource.cs
- GenericTextProperties.cs
- ClientSession.cs
- Base64Encoder.cs
- ImageIndexConverter.cs
- TypeSchema.cs
- ThicknessAnimationBase.cs
- XslAstAnalyzer.cs
- ReferencedCategoriesDocument.cs
- RegexReplacement.cs
- ContextProperty.cs
- RegistrationServices.cs
- AsymmetricSignatureFormatter.cs
- Part.cs
- HashCodeCombiner.cs
- DateTimePicker.cs
- ListManagerBindingsCollection.cs
- ControlPropertyNameConverter.cs
- PageContent.cs
- complextypematerializer.cs
- HitTestFilterBehavior.cs
- CodePageUtils.cs
- IfJoinedCondition.cs
- MethodExpr.cs
- NativeMethods.cs
- MatrixStack.cs
- ByteKeyFrameCollection.cs
- ExceptionValidationRule.cs
- TextElementEnumerator.cs
- ScrollChrome.cs
- ListViewItem.cs
- InstanceKeyView.cs
- Page.cs
- GetCryptoTransformRequest.cs
- SmiXetterAccessMap.cs
- LinqDataSourceStatusEventArgs.cs
- SynchronizedInputProviderWrapper.cs
- WindowsAuthenticationEventArgs.cs
- DataControlPagerLinkButton.cs
- RunInstallerAttribute.cs
- XmlNodeChangedEventArgs.cs
- HttpAsyncResult.cs
- GB18030Encoding.cs
- Message.cs
- CheckBoxFlatAdapter.cs
- SoapObjectReader.cs
- ThreadNeutralSemaphore.cs
- DummyDataSource.cs
- TagMapInfo.cs
- DebuggerAttributes.cs
- WebPartZoneCollection.cs
- RoutedEventConverter.cs
- TcpTransportManager.cs
- TextTreePropertyUndoUnit.cs
- WebRequest.cs
- PtsContext.cs
- UnrecognizedPolicyAssertionElement.cs
- VersionedStreamOwner.cs
- ProcessInputEventArgs.cs
- ContainerFilterService.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- RequiredFieldValidator.cs
- SequentialUshortCollection.cs
- ProcessHostConfigUtils.cs