Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / VirtualPathUtility.cs / 1305376 / 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 */ 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
- CroppedBitmap.cs
- Exceptions.cs
- BeginEvent.cs
- MenuAdapter.cs
- CacheMode.cs
- EntityParameter.cs
- WindowsToolbarItemAsMenuItem.cs
- StoreContentChangedEventArgs.cs
- ChannelParameterCollection.cs
- TextTreeDeleteContentUndoUnit.cs
- DXD.cs
- TextDpi.cs
- ListViewDeleteEventArgs.cs
- WCFBuildProvider.cs
- InheritablePropertyChangeInfo.cs
- Sql8ConformanceChecker.cs
- SQLMoneyStorage.cs
- ListBoxChrome.cs
- LoadedEvent.cs
- XmlLanguageConverter.cs
- ActivityStatusChangeEventArgs.cs
- DataControlReference.cs
- HandlerWithFactory.cs
- MonitoringDescriptionAttribute.cs
- CodeCatchClause.cs
- LeaseManager.cs
- DiagnosticStrings.cs
- CursorInteropHelper.cs
- fixedPageContentExtractor.cs
- BindingParameterCollection.cs
- ValueSerializerAttribute.cs
- ToolStripTemplateNode.cs
- DataGridViewCell.cs
- FileUtil.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- ContentType.cs
- SiteMapNodeItem.cs
- WizardPanel.cs
- CacheOutputQuery.cs
- FamilyTypefaceCollection.cs
- RequestQueue.cs
- TripleDESCryptoServiceProvider.cs
- FormViewRow.cs
- CancellableEnumerable.cs
- Base64Decoder.cs
- GridViewRowCollection.cs
- XmlDownloadManager.cs
- EntityTransaction.cs
- ListViewUpdatedEventArgs.cs
- ParagraphResult.cs
- GridItemPatternIdentifiers.cs
- FindCriteriaElement.cs
- CompilerScope.Storage.cs
- SwitchExpression.cs
- sitestring.cs
- EtwProvider.cs
- SerialStream.cs
- ServiceCredentials.cs
- ExeContext.cs
- BigInt.cs
- SQLBinary.cs
- TextViewDesigner.cs
- ListViewAutomationPeer.cs
- JsonObjectDataContract.cs
- HwndSourceKeyboardInputSite.cs
- XmlNodeList.cs
- InheritanceAttribute.cs
- Pair.cs
- XPathQilFactory.cs
- DBDataPermission.cs
- __ConsoleStream.cs
- LineBreakRecord.cs
- UnsafeNativeMethods.cs
- TimeSpan.cs
- CustomLineCap.cs
- Knowncolors.cs
- ContentIterators.cs
- EncoderFallback.cs
- COAUTHINFO.cs
- ConfigurationValidatorBase.cs
- Button.cs
- DataSetViewSchema.cs
- ManifestResourceInfo.cs
- IdentityNotMappedException.cs
- NamespaceInfo.cs
- TreeViewCancelEvent.cs
- XmlStringTable.cs
- FontUnitConverter.cs
- SqlUtils.cs
- ParameterCollection.cs
- ReflectionTypeLoadException.cs
- ArrangedElementCollection.cs
- DataControlCommands.cs
- Speller.cs
- CodeStatementCollection.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ButtonChrome.cs
- FilteredDataSetHelper.cs
- Matrix3D.cs
- DataRelation.cs