【发布时间】:2017-08-01 14:01:34
【问题描述】:
我正在迭代一个仅包含 1 个文件夹的 Amazon S3 存储桶。 我正在使用 C# 和这段代码来获取内容:
s3Root.GetDirectories();
它工作得很快,然后我将结果分配给这样的自定义对象
foreach (var subdirectories in s3Root.GetDirectories())
{
var item = subdirectories.FullName.Split(':')[1].Replace('\\', '/').TrimStart('/');
var itemUrl = FullBucketUrl + item;
myList.Add(new S3Info(subdirectories, itemUrl, "Folder", item));
}
然后在 S3Info 的构造函数中我有这个变量赋值
LastModified = itemInfo.LastWriteTimeUtc;
其中 itemInfo 是 S3DirectoryInfo.LastWriteTimeUtc
完整的调用大约需要 13 秒,最后一次分配需要 11 秒以上。为什么?
该调用是否再次转到 S3?我不明白,甚至去 S3 为什么要 11 秒!?
s3Root.GetDirectories() 正在返回 S3DirectoryInfo[] 而不是像 IQueryable 或 IEnumerable 那样的延迟,所以它应该已经从我看到的内容中实现了。
提前致谢。吉列尔莫。
【问题讨论】:
标签: c# amazon-web-services amazon-s3