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
- ServerValidateEventArgs.cs
- DelegateBodyWriter.cs
- TemplateGroupCollection.cs
- IndexedEnumerable.cs
- OracleLob.cs
- MutexSecurity.cs
- DropShadowBitmapEffect.cs
- GlyphShapingProperties.cs
- TraceSection.cs
- ContentType.cs
- RecordsAffectedEventArgs.cs
- DataGridCaption.cs
- DbConnectionPoolGroupProviderInfo.cs
- Utils.cs
- TableParagraph.cs
- SplitterCancelEvent.cs
- Update.cs
- NonBatchDirectoryCompiler.cs
- CryptoStream.cs
- Msec.cs
- WindowsPen.cs
- ActiveXContainer.cs
- ParallelTimeline.cs
- CustomValidator.cs
- WebServiceHostFactory.cs
- IItemProperties.cs
- TypeUsage.cs
- COM2Enum.cs
- XslTransformFileEditor.cs
- EditingCommands.cs
- EditingMode.cs
- HGlobalSafeHandle.cs
- TrackingServices.cs
- SimpleApplicationHost.cs
- RadioButton.cs
- QilTernary.cs
- WindowsListViewSubItem.cs
- EventMetadata.cs
- StrongNameUtility.cs
- ActivityXamlServices.cs
- XmlDeclaration.cs
- Missing.cs
- SafeThemeHandle.cs
- MatrixTransform3D.cs
- WebContentFormatHelper.cs
- TextBreakpoint.cs
- Action.cs
- CacheChildrenQuery.cs
- DataGridViewAutoSizeModeEventArgs.cs
- FileStream.cs
- EncryptedData.cs
- Label.cs
- FontDialog.cs
- Assembly.cs
- HtmlAnchor.cs
- ToolStripDropDownClosedEventArgs.cs
- SqlBooleanizer.cs
- NetworkInterface.cs
- InkCanvasSelectionAdorner.cs
- COM2IDispatchConverter.cs
- Utils.cs
- DefaultWorkflowLoaderService.cs
- SystemWebCachingSectionGroup.cs
- EndpointDiscoveryElement.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- DependencyObjectProvider.cs
- ToolStripOverflow.cs
- Int64.cs
- ThreadInterruptedException.cs
- StickyNoteHelper.cs
- AccessDataSourceWizardForm.cs
- TransformerInfo.cs
- DeclarativeCatalogPart.cs
- Token.cs
- AndMessageFilter.cs
- ConditionChanges.cs
- MergeFilterQuery.cs
- HttpInputStream.cs
- HtmlInputSubmit.cs
- Visitor.cs
- XamlPoint3DCollectionSerializer.cs
- CodeThrowExceptionStatement.cs
- UshortList2.cs
- SecurityTokenContainer.cs
- NavigationFailedEventArgs.cs
- X500Name.cs
- SrgsNameValueTag.cs
- OptimizedTemplateContent.cs
- XmlCountingReader.cs
- GB18030Encoding.cs
- ConstructorNeedsTagAttribute.cs
- DataGridView.cs
- MetricEntry.cs
- Popup.cs
- Pkcs7Signer.cs
- DataGridRowClipboardEventArgs.cs
- GrammarBuilderDictation.cs
- HttpCacheVaryByContentEncodings.cs
- TextSegment.cs
- ModulesEntry.cs