5
基於我已閱讀的一切,下面的測試方法應通過。我試圖理解它爲什麼會失敗。私人異步方法中的第一個斷言按預期通過。但是一旦任務返回並等待。在CallContext中設置的值在檢索時現在爲空。邏輯CallContext值不流利使用異步任務
[TestMethod]
public void LogicalCallContextBlockingTest()
{
PerformSimpleAsyncWork().Wait();
var result = CallContext.LogicalGetData("test");
Assert.AreEqual(result, "expected");
}
private async Task PerformSimpleAsyncWork()
{
await Task.Run(() =>
{
System.Threading.Thread.Sleep(100);
CallContext.LogicalSetData("test", "expected");
var result = CallContext.LogicalGetData("test");
Assert.AreEqual(result, "expected");
});
}
太棒了,我現在明白了。謝謝! – 2014-10-03 18:07:12