Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / VirtualDirectoryMappingCollection.cs / 1305376 / 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()]
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.
//
//-----------------------------------------------------------------------------
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()]
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ViewgenGatekeeper.cs
- StackBuilderSink.cs
- Properties.cs
- NativeActivityTransactionContext.cs
- WindowsListView.cs
- TTSEngineProxy.cs
- MenuAutomationPeer.cs
- XmlDocumentType.cs
- SHA256Managed.cs
- Soap.cs
- DataFieldEditor.cs
- BrowserCapabilitiesFactoryBase.cs
- WindowPatternIdentifiers.cs
- LOSFormatter.cs
- CacheMode.cs
- ChangeProcessor.cs
- RadioButton.cs
- WebUtil.cs
- FaultDesigner.cs
- DnsEndpointIdentity.cs
- ManifestSignatureInformation.cs
- DecimalConverter.cs
- InkCanvasFeedbackAdorner.cs
- UnmanagedBitmapWrapper.cs
- TransportDefaults.cs
- EventLogStatus.cs
- Rect.cs
- ListBoxItemWrapperAutomationPeer.cs
- TableRowCollection.cs
- PointCollectionConverter.cs
- StructuredProperty.cs
- TableLayoutStyle.cs
- Listbox.cs
- DocumentGridContextMenu.cs
- CodeTypeMember.cs
- InputLanguage.cs
- SiteMapProvider.cs
- DataGridView.cs
- PersonalizableAttribute.cs
- CellParaClient.cs
- EntryWrittenEventArgs.cs
- EndpointNotFoundException.cs
- MultilineStringConverter.cs
- EntityCommandCompilationException.cs
- SHA384Managed.cs
- DiscreteKeyFrames.cs
- NamespaceEmitter.cs
- SaveFileDialog.cs
- BaseTreeIterator.cs
- ChineseLunisolarCalendar.cs
- Pens.cs
- _AutoWebProxyScriptEngine.cs
- EndpointDiscoveryElement.cs
- OutputCacheModule.cs
- SqlPersonalizationProvider.cs
- TypeDependencyAttribute.cs
- SignatureGenerator.cs
- GlyphRun.cs
- BlockCollection.cs
- ProcessModule.cs
- ExpressionTextBoxAutomationPeer.cs
- SqlConnectionStringBuilder.cs
- BitmapEffectGroup.cs
- CodeArrayCreateExpression.cs
- ExpressionNormalizer.cs
- IteratorFilter.cs
- BorderGapMaskConverter.cs
- Rules.cs
- CqlErrorHelper.cs
- FunctionCommandText.cs
- FixedDocumentPaginator.cs
- DecimalMinMaxAggregationOperator.cs
- OutputCacheProfile.cs
- XmlUrlResolver.cs
- GroupBoxRenderer.cs
- LoaderAllocator.cs
- DrawItemEvent.cs
- Operator.cs
- PartDesigner.cs
- GridViewSelectEventArgs.cs
- PersonalizableTypeEntry.cs
- EpmSourceTree.cs
- DependencyObjectType.cs
- SqlUtils.cs
- HandlerBase.cs
- TypeSource.cs
- TCPClient.cs
- StylusShape.cs
- CroppedBitmap.cs
- DocumentGrid.cs
- MethodRental.cs
- AdornerLayer.cs
- AnimationStorage.cs
- DeclarativeCatalogPart.cs
- StorageEntityTypeMapping.cs
- PersonalizationEntry.cs
- RubberbandSelector.cs
- XmlTextAttribute.cs
- DataGridItem.cs
- OracleDataReader.cs