Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ControlCachePolicy.cs
- ConsoleTraceListener.cs
- MimeBasePart.cs
- CallbackBehaviorAttribute.cs
- IpcPort.cs
- MasterPageCodeDomTreeGenerator.cs
- ScriptServiceAttribute.cs
- ellipse.cs
- SqlFileStream.cs
- DynamicDataRouteHandler.cs
- AssemblyAttributesGoHere.cs
- ChannelTraceRecord.cs
- RsaSecurityKey.cs
- CompilerResults.cs
- FileUpload.cs
- WorkflowInstanceProxy.cs
- ProtocolElement.cs
- WebBrowserHelper.cs
- CategoryList.cs
- ImpersonationContext.cs
- XmlEncodedRawTextWriter.cs
- HandleCollector.cs
- SplitContainer.cs
- CodeAttributeDeclarationCollection.cs
- InkCanvasSelectionAdorner.cs
- NominalTypeEliminator.cs
- BaseAutoFormat.cs
- SystemWebCachingSectionGroup.cs
- Choices.cs
- ExpandCollapseProviderWrapper.cs
- Dispatcher.cs
- SHA1.cs
- PointAnimation.cs
- XmlUtilWriter.cs
- Graphics.cs
- GeometryHitTestResult.cs
- SqlNotificationRequest.cs
- DragAssistanceManager.cs
- ClientTarget.cs
- DesignerAttributeInfo.cs
- PanelStyle.cs
- BrowserDefinition.cs
- UnsafeNativeMethods.cs
- XamlHostingSection.cs
- Grammar.cs
- Crc32.cs
- UTF8Encoding.cs
- TypeElement.cs
- FixedSOMContainer.cs
- Package.cs
- AppLevelCompilationSectionCache.cs
- QueryTaskGroupState.cs
- IgnoreSection.cs
- DataGridViewTopLeftHeaderCell.cs
- DataGridViewCellValueEventArgs.cs
- ControlValuePropertyAttribute.cs
- XmlNodeChangedEventArgs.cs
- ExpressionTextBox.xaml.cs
- DependencyPropertyKey.cs
- BitStream.cs
- HandlerFactoryCache.cs
- XPathDocumentBuilder.cs
- HtmlElementCollection.cs
- TraceRecords.cs
- SemaphoreSecurity.cs
- DoWhile.cs
- ServerProtocol.cs
- cookieexception.cs
- ExtendedTransformFactory.cs
- HostingEnvironmentSection.cs
- Peer.cs
- HttpInputStream.cs
- RemotingService.cs
- ConnectionsZone.cs
- StructuralObject.cs
- PassportPrincipal.cs
- X509ImageLogo.cs
- TypeBuilderInstantiation.cs
- DataControlFieldCollection.cs
- VisualBasicHelper.cs
- SHA1.cs
- SQLDateTimeStorage.cs
- ConnectionsZone.cs
- MobileTextWriter.cs
- CodeStatementCollection.cs
- XPathAxisIterator.cs
- ParameterRetriever.cs
- LabelEditEvent.cs
- counter.cs
- RegisteredArrayDeclaration.cs
- MatrixUtil.cs
- FormViewUpdateEventArgs.cs
- XPathNavigator.cs
- DefaultValueConverter.cs
- RowUpdatingEventArgs.cs
- OperationFormatUse.cs
- AssemblySettingAttributes.cs
- StringArrayConverter.cs
- AxImporter.cs
- RadioButtonAutomationPeer.cs