Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConfigXmlSignificantWhitespace.cs
- RoutedEventValueSerializer.cs
- RecognizerInfo.cs
- CryptoConfig.cs
- TreeIterators.cs
- URL.cs
- Vector3DCollectionConverter.cs
- MenuBase.cs
- RelationshipConverter.cs
- Debugger.cs
- DbConnectionStringBuilder.cs
- TextSpan.cs
- Stylesheet.cs
- Annotation.cs
- SortedDictionary.cs
- DataKey.cs
- XamlStackWriter.cs
- WorkflowDesignerColors.cs
- TreeNode.cs
- XmlValidatingReader.cs
- DbConvert.cs
- PackagePart.cs
- InternalSafeNativeMethods.cs
- safex509handles.cs
- SafeBitVector32.cs
- SecurityKeyUsage.cs
- AttributeEmitter.cs
- MethodBuilderInstantiation.cs
- StateChangeEvent.cs
- SizeAnimationUsingKeyFrames.cs
- RoutedEventHandlerInfo.cs
- DesignerValidationSummaryAdapter.cs
- BindingNavigator.cs
- TimestampInformation.cs
- ExpressionBuilder.cs
- HostingEnvironmentSection.cs
- BigInt.cs
- FileLogRecordStream.cs
- HwndSubclass.cs
- CurrentChangedEventManager.cs
- mongolianshape.cs
- ZoneButton.cs
- TemplateControlCodeDomTreeGenerator.cs
- ThemeDirectoryCompiler.cs
- UserControlAutomationPeer.cs
- ListViewUpdateEventArgs.cs
- RoleManagerSection.cs
- DataGridColumnHeadersPresenter.cs
- DataGridViewColumnConverter.cs
- DialogResultConverter.cs
- PropertyEmitter.cs
- SyndicationDeserializer.cs
- DetailsViewInsertedEventArgs.cs
- RegexMatch.cs
- DebugView.cs
- HtmlTextArea.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- ComboBoxAutomationPeer.cs
- TableLayoutPanelCellPosition.cs
- XmlSchemaSimpleContentRestriction.cs
- InvalidTimeZoneException.cs
- FileIOPermission.cs
- EntityClassGenerator.cs
- ArraySegment.cs
- FixedStringLookup.cs
- RequestStatusBarUpdateEventArgs.cs
- FormViewDesigner.cs
- TaskFileService.cs
- XmlSchemaImporter.cs
- WebPartConnectionsCloseVerb.cs
- SimpleMailWebEventProvider.cs
- CorrelationExtension.cs
- SaveFileDialog.cs
- WindowsUpDown.cs
- XPathParser.cs
- ExplicitDiscriminatorMap.cs
- PointHitTestResult.cs
- AddressHeaderCollectionElement.cs
- CompilationUnit.cs
- ProfileSection.cs
- Types.cs
- ExpressionBinding.cs
- ReferencedAssembly.cs
- SmtpReplyReader.cs
- AdapterUtil.cs
- ModelTreeEnumerator.cs
- SemanticResolver.cs
- ReadWriteObjectLock.cs
- FixedTextContainer.cs
- Material.cs
- RegexFCD.cs
- TemplateParser.cs
- ReceiveActivityDesigner.cs
- XPathBinder.cs
- HtmlValidationSummaryAdapter.cs
- arabicshape.cs
- StrokeCollectionDefaultValueFactory.cs
- WindowsRichEditRange.cs
- WebPartDisplayModeCollection.cs
- CredentialSelector.cs