示例#1
0
        /// <summary>
        /// Осуществляет поиск записи о файле по прямому или косвенному поиску
        /// </summary>
        /// <param name="file"></param>
        /// <param name="searchMode"></param>
        /// <returns></returns>
        public IWebFileRecord Find(string file, WebFileSerachMode searchMode = WebFileSerachMode.Exact)
        {
            var nfile = ("/" + file).NormalizePath();

            if (nfile.StartsWith(Prefix + "/"))
            {
                nfile = nfile.Substring(Prefix.Length, nfile.Length - Prefix.Length);
            }
            if (searchMode != WebFileSerachMode.IgnorePath)
            {
                var exact = FindExact(nfile);
                if (null != exact)
                {
                    return(exact);
                }
                if (searchMode == WebFileSerachMode.Exact)
                {
                    return(null);
                }
            }
            if (ExactOnly)
            {
                return(null);
            }
            var fn = "/" + Path.GetFileName(nfile);

            return(FindFileNameOnly(fn));
        }
示例#2
0
		/// <summary>
		/// Осуществляет поиск записи о файле по прямому или косвенному поиску
		/// </summary>
		/// <param name="file"></param>
		/// <param name="searchMode"></param>
		/// <returns></returns>
		public IWebFileRecord Find(string file, WebFileSerachMode searchMode = WebFileSerachMode.Exact){
			
			var nfile = ("/"+file).NormalizePath();
			if (nfile.StartsWith(Prefix + "/")){
				nfile = nfile.Substring(Prefix.Length, nfile.Length - Prefix.Length);
			}
			if (searchMode != WebFileSerachMode.IgnorePath){
				var exact = FindExact(nfile);
				if (null != exact) return exact;
				if (searchMode == WebFileSerachMode.Exact) return null;
			}
			if (ExactOnly) return null;
			var fn = "/" + Path.GetFileName(nfile);
			return FindFileNameOnly(fn);
		}