0
我有一个FileSyncProvider和我写的FullEnumerationSimpleSyncProvider的自定义实现。当文件从FullEnumerationSimpleSyncProvider同步到FileSyncProvider它们被正确创建,但是都是零字节。定制SimpleSyncProvider创建零个字节文件
当在另一个方向同步(FileSyncProvider作为源)时,一切都按预期工作。
这是我的IFileDataRetriever的实现。我已经在FileStream属性设置器和获取器和大小属性的流放置断点永远是正确的,从不为零。实际流本身是一个MemoryStream,这可能会导致任何问题?
public class FileDataRetriever : IFileDataRetriever
{
private System.IO.Stream fileStream;
public string AbsoluteSourceFilePath
{
get
{
throw new NotImplementedException("AbsoluteSourceFilePath is not supported for this implementation of IFileDataRetriever");
}
}
public FileData FileData { get; set; }
public System.IO.Stream FileStream
{
get
{
return this.fileStream;
}
set
{
this.fileStream = value;
}
}
public string RelativeDirectoryPath { get; set; }
}
更新:
如果作为一个实验,我修改为下面的代码,创建5个字节的文件:
public System.IO.Stream FileStream
{
get
{
return new MemoryStream(new byte[] { 1, 2, 3, 4, 5 });
}
set
{
this.fileStream = value;
}
}
所以这告诉我,它应该工作用MemoryStream很好。如果我在getter上放置了一个断点,它在调用它时总是看起来有效 - 它具有正确的大小等,而不是0的大小。