Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / VirtualPathUtility.cs / 1 / VirtualPathUtility.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* VirtualPathUtility class
*
* Copyright (c) 2004 Microsoft Corporation
*/
namespace System.Web {
using System.Web.Util;
using System.Security.Permissions;
/*
* Code to perform virtual path operations
*/
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public static class VirtualPathUtility {
/* Discover virtual path type */
public static bool IsAbsolute(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.Create(virtualPath);
return !virtualPathObject.IsRelative && virtualPathObject.VirtualPathStringIfAvailable != null;
}
public static bool IsAppRelative(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.Create(virtualPath);
return virtualPathObject.VirtualPathStringIfAvailable == null;
}
/* Convert between virtual path types */
public static string ToAppRelative(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.AppRelativeVirtualPathString;
}
public static string ToAppRelative(string virtualPath, string applicationPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
// If it was already app relative, just return it
if (virtualPathObject.AppRelativeVirtualPathStringIfAvailable != null)
return virtualPathObject.AppRelativeVirtualPathStringIfAvailable;
VirtualPath appVirtualPath = VirtualPath.CreateAbsoluteTrailingSlash(applicationPath);
return UrlPath.MakeVirtualPathAppRelative(virtualPathObject.VirtualPathString,
appVirtualPath.VirtualPathString, true /*nullIfNotInApp*/);
}
public static string ToAbsolute(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.VirtualPathString;
}
public static string ToAbsolute(string virtualPath, string applicationPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
// If it was already absolute, just return it
if (virtualPathObject.VirtualPathStringIfAvailable != null)
return virtualPathObject.VirtualPathStringIfAvailable;
VirtualPath appVirtualPath = VirtualPath.CreateAbsoluteTrailingSlash(applicationPath);
return UrlPath.MakeVirtualPathAppAbsolute(virtualPathObject.AppRelativeVirtualPathString,
appVirtualPath.VirtualPathString);
}
/* Get pieces of virtual path */
public static string GetFileName(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.FileName;
}
public static string GetDirectory(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
virtualPathObject = virtualPathObject.Parent;
if (virtualPathObject == null)
return null;
return virtualPathObject.VirtualPathStringWhicheverAvailable;
}
public static string GetExtension(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.Create(virtualPath);
return virtualPathObject.Extension;
}
/* Canonicalize virtual paths */
public static string AppendTrailingSlash(string virtualPath) {
return UrlPath.AppendSlashToPathIfNeeded(virtualPath);
}
public static string RemoveTrailingSlash(string virtualPath) {
return UrlPath.RemoveSlashFromPathIfNeeded(virtualPath);
}
// Removing Reduce per DevDiv 43118
#if OLD
public static string Reduce(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.VirtualPathString;
}
#endif
/* Work with multiple virtual paths */
public static string Combine(string basePath, string relativePath) {
VirtualPath virtualPath = VirtualPath.Combine(VirtualPath.CreateNonRelative(basePath),
VirtualPath.Create(relativePath));
return virtualPath.VirtualPathStringWhicheverAvailable;
}
public static string MakeRelative(string fromPath, string toPath) {
return UrlPath.MakeRelative(fromPath, toPath);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* VirtualPathUtility class
*
* Copyright (c) 2004 Microsoft Corporation
*/
namespace System.Web {
using System.Web.Util;
using System.Security.Permissions;
/*
* Code to perform virtual path operations
*/
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public static class VirtualPathUtility {
/* Discover virtual path type */
public static bool IsAbsolute(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.Create(virtualPath);
return !virtualPathObject.IsRelative && virtualPathObject.VirtualPathStringIfAvailable != null;
}
public static bool IsAppRelative(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.Create(virtualPath);
return virtualPathObject.VirtualPathStringIfAvailable == null;
}
/* Convert between virtual path types */
public static string ToAppRelative(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.AppRelativeVirtualPathString;
}
public static string ToAppRelative(string virtualPath, string applicationPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
// If it was already app relative, just return it
if (virtualPathObject.AppRelativeVirtualPathStringIfAvailable != null)
return virtualPathObject.AppRelativeVirtualPathStringIfAvailable;
VirtualPath appVirtualPath = VirtualPath.CreateAbsoluteTrailingSlash(applicationPath);
return UrlPath.MakeVirtualPathAppRelative(virtualPathObject.VirtualPathString,
appVirtualPath.VirtualPathString, true /*nullIfNotInApp*/);
}
public static string ToAbsolute(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.VirtualPathString;
}
public static string ToAbsolute(string virtualPath, string applicationPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
// If it was already absolute, just return it
if (virtualPathObject.VirtualPathStringIfAvailable != null)
return virtualPathObject.VirtualPathStringIfAvailable;
VirtualPath appVirtualPath = VirtualPath.CreateAbsoluteTrailingSlash(applicationPath);
return UrlPath.MakeVirtualPathAppAbsolute(virtualPathObject.AppRelativeVirtualPathString,
appVirtualPath.VirtualPathString);
}
/* Get pieces of virtual path */
public static string GetFileName(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.FileName;
}
public static string GetDirectory(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
virtualPathObject = virtualPathObject.Parent;
if (virtualPathObject == null)
return null;
return virtualPathObject.VirtualPathStringWhicheverAvailable;
}
public static string GetExtension(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.Create(virtualPath);
return virtualPathObject.Extension;
}
/* Canonicalize virtual paths */
public static string AppendTrailingSlash(string virtualPath) {
return UrlPath.AppendSlashToPathIfNeeded(virtualPath);
}
public static string RemoveTrailingSlash(string virtualPath) {
return UrlPath.RemoveSlashFromPathIfNeeded(virtualPath);
}
// Removing Reduce per DevDiv 43118
#if OLD
public static string Reduce(string virtualPath) {
VirtualPath virtualPathObject = VirtualPath.CreateNonRelative(virtualPath);
return virtualPathObject.VirtualPathString;
}
#endif
/* Work with multiple virtual paths */
public static string Combine(string basePath, string relativePath) {
VirtualPath virtualPath = VirtualPath.Combine(VirtualPath.CreateNonRelative(basePath),
VirtualPath.Create(relativePath));
return virtualPath.VirtualPathStringWhicheverAvailable;
}
public static string MakeRelative(string fromPath, string toPath) {
return UrlPath.MakeRelative(fromPath, toPath);
}
}
}
// 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
- CmsUtils.cs
- CompositeControlDesigner.cs
- TraceEventCache.cs
- DropSource.cs
- SiblingIterators.cs
- HttpPostedFile.cs
- SqlBuilder.cs
- ComplexLine.cs
- SafeHandles.cs
- HttpStreams.cs
- Span.cs
- ButtonStandardAdapter.cs
- HTTPAPI_VERSION.cs
- DictionaryContent.cs
- IsolatedStorageFilePermission.cs
- MarginCollapsingState.cs
- PropertyGrid.cs
- CheckedListBox.cs
- XmlHierarchyData.cs
- Compiler.cs
- DbDeleteCommandTree.cs
- HostedNamedPipeTransportManager.cs
- FontFamilyValueSerializer.cs
- OleDbParameterCollection.cs
- StreamUpgradeInitiator.cs
- Accessible.cs
- DockProviderWrapper.cs
- ISessionStateStore.cs
- RecognizeCompletedEventArgs.cs
- PixelFormats.cs
- EntityContainerAssociationSet.cs
- ProcessHostMapPath.cs
- Panel.cs
- PtsPage.cs
- QueryOptionExpression.cs
- PointCollectionConverter.cs
- RegexCompilationInfo.cs
- UpDownBase.cs
- RangeValidator.cs
- System.Data_BID.cs
- ComboBox.cs
- CanonicalFontFamilyReference.cs
- XomlSerializationHelpers.cs
- MethodBuilderInstantiation.cs
- CountAggregationOperator.cs
- Function.cs
- EventMappingSettings.cs
- XmlNodeList.cs
- ThreadStartException.cs
- PhysicalFontFamily.cs
- Mappings.cs
- SystemResourceHost.cs
- TemplateNameScope.cs
- SessionState.cs
- EntryIndex.cs
- HtmlControlPersistable.cs
- XPathPatternParser.cs
- GridViewColumnHeader.cs
- TimeSpanStorage.cs
- WorkflowEnvironment.cs
- InstalledFontCollection.cs
- DependencyObject.cs
- DeclaredTypeValidator.cs
- AuthenticationModuleElement.cs
- ProfileParameter.cs
- SchemaManager.cs
- RecognizerStateChangedEventArgs.cs
- ValidationUtility.cs
- WebServiceHost.cs
- DefaultPropertyAttribute.cs
- MissingSatelliteAssemblyException.cs
- AndCondition.cs
- EntityContainerEntitySet.cs
- CommandField.cs
- UITypeEditor.cs
- TextEditorContextMenu.cs
- AdPostCacheSubstitution.cs
- Math.cs
- ScriptModule.cs
- SolidBrush.cs
- DataServiceException.cs
- QilGeneratorEnv.cs
- CollaborationHelperFunctions.cs
- LazyTextWriterCreator.cs
- linebase.cs
- PriorityChain.cs
- ObjectCacheSettings.cs
- ResponseStream.cs
- LayoutTableCell.cs
- OdbcFactory.cs
- StringCollectionMarkupSerializer.cs
- Guid.cs
- WindowsStreamSecurityElement.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- UnsafeNativeMethods.cs
- BlurEffect.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- BuildManagerHost.cs
- SHA512CryptoServiceProvider.cs
- AgileSafeNativeMemoryHandle.cs