Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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.
//------------------------------------------------------------------------------
//
// 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
- EnterpriseServicesHelper.cs
- PageTheme.cs
- DataGridViewRowCollection.cs
- XmlParserContext.cs
- AppDomainGrammarProxy.cs
- RelOps.cs
- SecureStringHasher.cs
- ActiveXHelper.cs
- TableLayoutPanel.cs
- NavigationWindow.cs
- SubclassTypeValidator.cs
- TreeNodeMouseHoverEvent.cs
- PngBitmapEncoder.cs
- EncryptedPackageFilter.cs
- LogicalChannelCollection.cs
- MouseCaptureWithinProperty.cs
- X509Utils.cs
- XmlEncoding.cs
- DoubleLink.cs
- ObjectTag.cs
- ExportOptions.cs
- StringUtil.cs
- HashHelpers.cs
- UITypeEditors.cs
- ValuePattern.cs
- WorkflowInstanceProxy.cs
- XmlCountingReader.cs
- RegexGroupCollection.cs
- ObjectContextServiceProvider.cs
- SQLUtility.cs
- RelationalExpressions.cs
- HttpRuntime.cs
- ClientRuntimeConfig.cs
- UseManagedPresentationBindingElement.cs
- NetCodeGroup.cs
- PackWebResponse.cs
- WeakReferenceKey.cs
- AsmxEndpointPickerExtension.cs
- FamilyTypefaceCollection.cs
- NavigatorInput.cs
- WebEvents.cs
- TextElementEditingBehaviorAttribute.cs
- XsdCachingReader.cs
- TextSpan.cs
- RemotingSurrogateSelector.cs
- GreenMethods.cs
- TypeUnloadedException.cs
- SHA1CryptoServiceProvider.cs
- AnonymousIdentificationModule.cs
- BatchStream.cs
- StringToken.cs
- __TransparentProxy.cs
- CharacterBuffer.cs
- WindowsToolbarItemAsMenuItem.cs
- ConfigXmlCDataSection.cs
- RegisteredScript.cs
- SoapSchemaMember.cs
- InstallerTypeAttribute.cs
- ScriptResourceHandler.cs
- DataGridViewDesigner.cs
- NativeDirectoryServicesQueryAPIs.cs
- PrincipalPermission.cs
- KeyToListMap.cs
- ErrorProvider.cs
- SqlBulkCopy.cs
- SqlCharStream.cs
- SafePEFileHandle.cs
- DependencyObjectProvider.cs
- SmtpFailedRecipientException.cs
- EditingMode.cs
- MetadataElement.cs
- _emptywebproxy.cs
- Baml6ConstructorInfo.cs
- Inline.cs
- RangeBase.cs
- ResizeGrip.cs
- BatchParser.cs
- MouseGesture.cs
- TabletCollection.cs
- WorkflowQueue.cs
- NumericExpr.cs
- SoapMessage.cs
- AtlasWeb.Designer.cs
- LocalizableResourceBuilder.cs
- InputLanguageManager.cs
- X509SecurityTokenParameters.cs
- PrintPreviewDialog.cs
- ILGenerator.cs
- TextUtf8RawTextWriter.cs
- AlternateView.cs
- ControlTemplate.cs
- XmlDataImplementation.cs
- ToolStripMenuItem.cs
- ParameterToken.cs
- ValidatedMobileControlConverter.cs
- ElementNotEnabledException.cs
- WebBrowser.cs
- GradientStopCollection.cs
- ReferenceConverter.cs
- IItemContainerGenerator.cs