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
- ProfileSettings.cs
- Parallel.cs
- UnicastIPAddressInformationCollection.cs
- RowToFieldTransformer.cs
- TlsnegoTokenProvider.cs
- DrawingBrush.cs
- PresentationTraceSources.cs
- Transaction.cs
- MemoryRecordBuffer.cs
- RectAnimationBase.cs
- WebDisplayNameAttribute.cs
- TrackingDataItem.cs
- HtmlInputFile.cs
- SerialReceived.cs
- SqlGenericUtil.cs
- EmptyQuery.cs
- SspiSafeHandles.cs
- HtmlToClrEventProxy.cs
- TextFormatterContext.cs
- StringToken.cs
- NestPullup.cs
- ToolStripDropDownItem.cs
- SafePEFileHandle.cs
- MailMessage.cs
- AppSettingsExpressionBuilder.cs
- GeneratedContractType.cs
- WebPartVerb.cs
- TextBoxAutoCompleteSourceConverter.cs
- TypeValidationEventArgs.cs
- DateRangeEvent.cs
- Trace.cs
- HttpException.cs
- TrustManagerMoreInformation.cs
- HtmlAnchor.cs
- CodeSnippetStatement.cs
- ConnectionPoolManager.cs
- PeerHopCountAttribute.cs
- DesignBindingPicker.cs
- ExtendedPropertyDescriptor.cs
- XmlDocumentType.cs
- JsonFormatReaderGenerator.cs
- ActivationServices.cs
- TypedTableBaseExtensions.cs
- Preprocessor.cs
- Polyline.cs
- BooleanExpr.cs
- IntSecurity.cs
- WriteTimeStream.cs
- HttpsHostedTransportConfiguration.cs
- XmlDomTextWriter.cs
- BasicBrowserDialog.designer.cs
- C14NUtil.cs
- GrammarBuilderBase.cs
- MatrixConverter.cs
- MemberDescriptor.cs
- Operand.cs
- ChangeNode.cs
- Control.cs
- HMACSHA384.cs
- ScriptReferenceEventArgs.cs
- Models.cs
- EmbossBitmapEffect.cs
- HtmlShimManager.cs
- DependencyObject.cs
- unsafenativemethodsother.cs
- XmlDomTextWriter.cs
- StringUtil.cs
- TcpStreams.cs
- MouseButton.cs
- PanelStyle.cs
- MobileSysDescriptionAttribute.cs
- CodeRegionDirective.cs
- RuleSettings.cs
- CorrelationTokenInvalidatedHandler.cs
- ZipIOLocalFileBlock.cs
- Authorization.cs
- AttributeCollection.cs
- ProcessThreadCollection.cs
- Flattener.cs
- ResourceCollectionInfo.cs
- _LocalDataStore.cs
- SqlRetyper.cs
- MarshalByValueComponent.cs
- WebPartEditorCancelVerb.cs
- ReferencedCollectionType.cs
- XmlSchemaSubstitutionGroup.cs
- HttpContext.cs
- DataListItem.cs
- GeneralTransform3DTo2DTo3D.cs
- ToolboxItemWrapper.cs
- TryCatch.cs
- Int32AnimationUsingKeyFrames.cs
- RelatedImageListAttribute.cs
- DataTemplateKey.cs
- UshortList2.cs
- ProxyGenerationError.cs
- XmlSchemaSimpleContentExtension.cs
- ADMembershipProvider.cs
- SafeFindHandle.cs
- TimersDescriptionAttribute.cs