3
我想重新使用我的许多APM风格的异步方法的代码。每种方法都有一个BeginXXX和一个EndXXX签名对。我想在每个函数中重复使用相同的回调函数。如何与许多APM BeginXXX调用共享一个AsyncCallback?
我一直使用匿名方法,如下所示,但我不知道如何将其提取到可重用的表单中。我知道这应该很容易,但我无法弄清楚如何使用委托来实现这一点。 (这是我得到正在自学)
var result = tableSymmetricKeys.BeginExecuteQuerySegmented(query, token, opt, ctx, (o) =>
{
var response = (o.AsyncState as CloudTable).EndExecuteQuerySegmented(o);
token = response.ContinuationToken;
int recordsRetrieved = response.Results.Count;
totalEntitiesRetrieved += recordsRetrieved;
Console.WriteLine("Records retrieved in this attempt = " + recordsRetrieved + " | Total records retrieved = " + totalEntitiesRetrieved);
evt.Set();
}, tableSymmetricKeys);
我如何提取与(o) => ...
匿名方法到委托并使其可重复使用?
我一直在战斗2天;这正是我需要的! (x 100万) – LamonteCristo
非常欢迎:)这种疯狂虽然证明了为什么异步/等待在C#5中真棒。 – BFree
我正在实现这个,'var response = state.CloudTable.EndExecuteQuerySegmented();'需要在最后一个方法中使用IAsyncResult。我应该放什么? – LamonteCristo