Пример #1
0
        /// <summary>
        /// Creates a virtual file with the Physical location information in it.
        /// </summary>
        /// <param name="vp">The vp.</param>
        VirtualFile CreateAndWriteVirtualFile(VirtualPath vp)
        {
            ShadowFullPath readPath    = _pathFactory.CreateShadowFullPath4Read(vp);
            ShadowFullPath writePath   = _pathFactory.CreateShadwoFullPath4Write(vp);
            var            virtualFile = new VirtualFile()
            {
                PhysicalUri = new Uri(writePath.PathString)
            };

            IOUtil.PrepareParentDirForPath(readPath.PathString);
            XmlUtil.WriteXml <VirtualFile>(virtualFile, readPath.PathString);

            Logger.WriteLineIf(LogLevel.Verbose, _log_props,
                               string.Format("A virtual file is created at {0}", readPath.PathString));
            return(virtualFile);
        }
Пример #2
0
        /// <summary>
        /// Reads the virtual file  from the specified path.
        /// </summary>
        /// <param name="path">The path.</param>
        /// <returns></returns>
        public VirtualFile ReadVirtualFile(VirtualPath path)
        {
            var shadowPath = _pathFactory.CreateShadowFullPath4Read(path);

            if (File.Exists(shadowPath.PathString))
            {
                var vf = XmlUtil.ReadXml <VirtualFile>(shadowPath.PathString);
                return(vf);
            }
            else
            {
                // This is an erroneous situation where you think the file exists but no virtual file
                // presents.
                throw new Exception();
            }
        }