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
- SystemMulticastIPAddressInformation.cs
- HebrewCalendar.cs
- ResourcePermissionBaseEntry.cs
- TreeWalker.cs
- Freezable.cs
- XmlSchemaGroupRef.cs
- Vector.cs
- FormViewRow.cs
- DynamicRenderer.cs
- PanelContainerDesigner.cs
- WindowsRichEditRange.cs
- MenuEventArgs.cs
- PathTooLongException.cs
- KnownTypes.cs
- CodeDirectoryCompiler.cs
- StringDictionary.cs
- TryLoadRunnableWorkflowCommand.cs
- WsatServiceAddress.cs
- ResourceIDHelper.cs
- ChameleonKey.cs
- ServicePointManager.cs
- MultipleViewPattern.cs
- HttpAsyncResult.cs
- StructuredTypeEmitter.cs
- Renderer.cs
- EntityDataReader.cs
- AuthenticationSection.cs
- CodeSnippetCompileUnit.cs
- Label.cs
- ValidationSummaryDesigner.cs
- TrackingProfile.cs
- ScriptControl.cs
- Matrix3D.cs
- SessionEndingEventArgs.cs
- Encoder.cs
- DbMetaDataColumnNames.cs
- BasicViewGenerator.cs
- PipelineComponent.cs
- ImageListUtils.cs
- MergablePropertyAttribute.cs
- WebServiceErrorEvent.cs
- XmlHelper.cs
- LinkArea.cs
- SchemaNotation.cs
- WebPageTraceListener.cs
- ConfigXmlAttribute.cs
- graph.cs
- FlowDocument.cs
- XPathBinder.cs
- HelpFileFileNameEditor.cs
- InternalEnumValidator.cs
- InternalMappingException.cs
- CodeExporter.cs
- DynamicField.cs
- XmlStreamNodeWriter.cs
- SqlXml.cs
- Helpers.cs
- _LocalDataStoreMgr.cs
- Size.cs
- ComponentResourceManager.cs
- Util.cs
- SHA384Managed.cs
- Profiler.cs
- DirectoryObjectSecurity.cs
- IndexedEnumerable.cs
- SortedList.cs
- CodeGroup.cs
- HtmlEncodedRawTextWriter.cs
- CodeSnippetCompileUnit.cs
- DataObjectSettingDataEventArgs.cs
- TabControlEvent.cs
- OleDbWrapper.cs
- AttributeCollection.cs
- LongTypeConverter.cs
- VersionPair.cs
- isolationinterop.cs
- TraceFilter.cs
- HwndMouseInputProvider.cs
- CounterCreationData.cs
- Line.cs
- RequiredFieldValidator.cs
- ClientRuntimeConfig.cs
- ArrayConverter.cs
- BeginEvent.cs
- FamilyTypeface.cs
- Int32CollectionConverter.cs
- SqlNodeTypeOperators.cs
- ClientBuildManagerCallback.cs
- EnterpriseServicesHelper.cs
- Query.cs
- PropertyValueChangedEvent.cs
- Converter.cs
- StringAnimationUsingKeyFrames.cs
- SqlCrossApplyToCrossJoin.cs
- SiteMap.cs
- EasingKeyFrames.cs
- OletxTransactionHeader.cs
- CountdownEvent.cs
- WebPartsPersonalization.cs
- ChtmlTextBoxAdapter.cs