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
- FileUtil.cs
- StringFreezingAttribute.cs
- ControlIdConverter.cs
- DBSqlParserColumn.cs
- Knowncolors.cs
- BuilderPropertyEntry.cs
- DispatcherProcessingDisabled.cs
- ContractsBCL.cs
- ParenExpr.cs
- SelectorAutomationPeer.cs
- Matrix3D.cs
- ImageSource.cs
- DataGridCommandEventArgs.cs
- XmlArrayItemAttributes.cs
- CancelEventArgs.cs
- EncoderNLS.cs
- CultureTableRecord.cs
- TypeName.cs
- SqlCacheDependencyDatabaseCollection.cs
- InstallerTypeAttribute.cs
- Block.cs
- HtmlTable.cs
- DataGridViewCellConverter.cs
- Condition.cs
- TextParaClient.cs
- ListViewAutomationPeer.cs
- PropertySegmentSerializer.cs
- ByteStreamMessageEncoder.cs
- ReflectionTypeLoadException.cs
- XmlException.cs
- FontStyles.cs
- AsyncResult.cs
- VirtualPath.cs
- DataGridRowEventArgs.cs
- CallContext.cs
- UInt32.cs
- ChildTable.cs
- Knowncolors.cs
- TextChange.cs
- ExponentialEase.cs
- FileUtil.cs
- ActivityXRefConverter.cs
- SchemaTableColumn.cs
- sqlmetadatafactory.cs
- ParserStreamGeometryContext.cs
- TextTreeUndoUnit.cs
- StagingAreaInputItem.cs
- PlaceHolder.cs
- LinkedList.cs
- control.ime.cs
- SafeReversePInvokeHandle.cs
- HtmlAnchor.cs
- ListView.cs
- TextSelection.cs
- ConfigViewGenerator.cs
- GenericUriParser.cs
- DiagnosticsConfiguration.cs
- Avt.cs
- CompilerResults.cs
- EncodingDataItem.cs
- ValueTypeFixupInfo.cs
- ConfigurationStrings.cs
- DiscoveryRequestHandler.cs
- PointLightBase.cs
- HttpWebResponse.cs
- Point3D.cs
- SetterBaseCollection.cs
- GridItemPatternIdentifiers.cs
- GenericTextProperties.cs
- XmlValueConverter.cs
- Visitor.cs
- ScriptingSectionGroup.cs
- SetIndexBinder.cs
- KnownTypesProvider.cs
- TcpConnectionPoolSettingsElement.cs
- WindowsFormsSectionHandler.cs
- SqlInternalConnection.cs
- ClientTarget.cs
- FormsAuthenticationConfiguration.cs
- EntitySetBaseCollection.cs
- CodeDomConfigurationHandler.cs
- FormCollection.cs
- SymbolPair.cs
- Command.cs
- SettingsPropertyIsReadOnlyException.cs
- DataGridPageChangedEventArgs.cs
- graph.cs
- ProcessStartInfo.cs
- MetadataException.cs
- XmlElementAttribute.cs
- ExtenderControl.cs
- AudioException.cs
- OdbcDataReader.cs
- ListManagerBindingsCollection.cs
- WorkflowPrinting.cs
- SkinBuilder.cs
- PropertyRef.cs
- HttpFileCollection.cs
- ResourceDictionaryCollection.cs
- StateDesigner.cs