public virtual string MapPath(string virtualPath)
        {
            string path = FileInfoExtension.RemoveRelativeSymbols(virtualPath);


            return(_webFileProvider.MapPath(path));
//            return HostingEnvironment.MapPath(virtualPath);
        }
        public virtual IEnumerable <string> ListDirectories(string path)
        {
            return(_webFileProvider.GetDirectoryContents(FileInfoExtension.RemoveRelativeSymbols(path))
                   .Where(f => f.IsDirectory)
                   .Select(t => t.ToAppRelative(_hostingEnvironment.ContentRootPath)));
//            return HostingEnvironment
//                .VirtualPathProvider
//                .GetDirectory(path)
//                .Directories
//                .OfType<VirtualDirectory>()
//                .Select(d => VirtualPathUtility.ToAppRelative(d.VirtualPath));
        }
        public virtual bool DirectoryExists(string virtualPath)
        {
            return(_webFileProvider.GetDirectoryContents(FileInfoExtension.RemoveRelativeSymbols(virtualPath)).Exists);
//            return HostingEnvironment.VirtualPathProvider.DirectoryExists(virtualPath);
        }