예제 #1
0
        public static AliasInfo GetClosestParentAlias(string virtualPath, AliasMap aliasMap, bool considerCurrentPath)
        {
            var       aliases   = aliasMap.GetAliases();
            var       path      = considerCurrentPath ? virtualPath : RemoveOneSubdirectoryFromPath(virtualPath);
            AliasInfo aliasInfo = null;

            while (path.Length > 0)
            {
                aliasInfo = aliases.Where(x => x.Path == path).SingleOrDefault();

                if (aliasInfo != null)
                {
                    break;
                }

                path = RemoveOneSubdirectoryFromPath(path);
            }

            return(aliasInfo);
        }