4
AsyncTaskCodeActivity在執行第一個await後訪問上下文參數時失敗。例如:AsyncTaskCodeActivity和等待後丟失的上下文
public class TestAsyncTaskCodeActivity : AsyncTaskCodeActivity<int>
{
protected async override Task<int> ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
{
await Task.Delay(50);
// context has already been disposed and the next line throws
// ObjectDisposedException with the message:
// An ActivityContext can only be accessed within the scope of the function it was passed into.
context.Track(new CustomTrackingRecord("test"));
// more awaits can happen here
return 3;
}
}
是否有任何簡單的方法來保存上下文,以便在等待某些內容後也可以使用它?
謝謝。我有一個類似的想法,但無法創建良好的實施。但是這個解決方案仍然有嚴重的侷限我想過使用[AsyncNativeActivity](http://blogs.msdn.com/b/tilovell/archive/2011/06/09/wf4-they-have-asynccodeactivity-why-not-asyncnativeactivity.aspx)和一個自定義調度程序以便始終訪問上下文。你怎麼看? – arturek 2014-10-13 06:17:33
有什麼限制? – 2014-10-17 18:34:42
自從你發佈了這個版本已經過去了一年,但我在玩同樣的問題。任何想法如何在這個遊戲中正確處理ExecutionContext? – wasabi 2015-12-21 02:28:10