本文整理汇总了C#中IDirectory.WriteFile方法的典型用法代码示例。如果您正苦于以下问题:C# IDirectory.WriteFile方法的具体用法?C# IDirectory.WriteFile怎么用?C# IDirectory.WriteFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDirectory
的用法示例。
在下文中一共展示了IDirectory.WriteFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Update
public void Update(IDirectory directory)
{
var projectFile = GetProjectFile(directory);
if (projectFile != null)
{
var references = GetReferencesFile(directory);
AddMissingReferencesToReferenceCollection(projectFile, references);
var referenceFile = referenceSerializer.Serialize(references);
directory.WriteFile(ParserRegistry.ReferencesFileName, referenceFile);
}
directory.Directories.Each(Update);
}
示例2: Directory
public void Directory(IDirectory sdir, IDirectory ddir)
{
if (ddir == null || sdir == null) return;
sdir.Source = ddir.Source = sdir;
sdir.Destination = ddir.Destination = ddir;
int con;
if (sdir is LocalDirectory && ddir is LocalDirectory) con = 1;
else {
con = Math.Max(FtpConnections.Count(true, sdir.Url), FtpConnections.Count(false, ddir.Url));
if (ddir is FtpDirectory) {
((FtpDirectory)ddir).TransferProgress = true;
} else if (sdir is FtpDirectory) {
((FtpDirectory)sdir).TransferProgress = true;
}
}
if (con == 0) con = 1;
var list = sdir.List().Where(file => !Silversite.Services.Paths.Match(ExcludePatterns, file.RelativePath)).ToList();
var dlist = ddir.List();
//ddir.CreateDirectory(null);
Parallel.ForEach<FileOrDirectory>(list, new ParallelOptions { MaxDegreeOfParallelism = con },
(src) => {
FileOrDirectory dest = null;
lock(dlist) { if (dlist.Contains(src.Name)) dest = dlist[src.Name]; }
if (dest != null && dest.Class != src.Class && (src.Changed > dest.Changed || Mode == Silversite.Services.Sync.Mode.Clone)) {
ddir.Delete(dest);
dest = null;
}
if (src.Class == ObjectClass.File) { // src is a file
if (dest == null
|| ((Mode == Silversite.Services.Sync.Mode.Update || Mode == Silversite.Services.Sync.Mode.Add) && src.Changed > dest.Changed)
|| (Mode == Silversite.Services.Sync.Mode.Clone && (src.Changed > dest.Changed + dt))) {
var s = sdir.ReadFile(src);
if (s != null) {
using (s) {
ddir.WriteFile(s, src);
}
}
}
} else { // src is a directory
if (dest == null) Directory((IDirectory)src, ddir.CreateDirectory(src));
else Directory((IDirectory)src, (IDirectory)dest);
}
lock (dlist) { dlist.Remove(src.Name); }
});
if (Mode != Silversite.Services.Sync.Mode.Add) {
foreach (var dest in dlist) ddir.Delete(dest);
}
}