问题:我想使用他们的.NET SDK从AWS S3并行下载100个文件.下载的内容应存储在100个内存流中(文件足够小,我可以从那里获取).我在Task,IAsyncResult,Parallel.*和.NET 4.0中的其他不同方法之间感到困惑.
如果我试图自己解决这个问题,我会想象这样的伪代码:(编辑为某些变量添加类型)
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
AmazonS3 _s3 = ...;
IEnumerable<GetObjectRequest> requestObjects = ...;
// Prepare to launch requests
var asyncRequests = from rq in requestObjects
select _s3.BeginGetObject(rq,null,null);
// Launch requests
var asyncRequestsLaunched = asyncRequests.ToList();
// Prepare to finish requests
var responses = from rq in asyncRequestsLaunched
select _s3.EndGetRequest(rq);
// Finish requests
var actualResponses = responses.ToList();
// Fetch data
var data = actualResponses.Select(rp => {
var ms = new MemoryStream();
rp.ResponseStream.CopyTo(ms);
return ms; …
Run Code Online (Sandbox Code Playgroud) 我知道如何在iPhone上进行单元测试 - 在"iPhone单元测试包"的构建阶段运行的逻辑测试.
我知道如何使用仪器检测内存泄漏 - 在XCode,Menu-> Run-> run with perf tools-> Leaks.
我怎么做两个?我想运行单元测试并检测其中的内存泄漏.如果我尝试简单地选择单元测试包作为目标,然后"菜单 - >运行 - >运行perf工具 - >泄漏"我在模拟器中加载应用程序,但单元测试没有运行.
我能想到的最好的方法是将相同的单元测试文件包含到我真正的应用程序目标中,并在运行时从应用程序本身简单地调用它们.有更好的想法吗?