【发布时间】:2011-12-27 02:13:49
【问题描述】:
我正在练习 WinRT API,但遇到一些问题需要您的帮助。
我想试试DataContractSerializer 并参考这个网站:
http://winrtstoragehelper.codeplex.com/
代码:
Stream inStream = Task.Run(() => readStream.OpenRead()).Result;
我认为应该是(错误?):
Stream inStream = await Task.Run(() => readStream.OpenRead());
但最奇怪的是,如果我只使用:
Stream inStream = readStream.OpenRead());
然后我将这个流传递到:
DataContractSerializer.WriteObject
API 将永远卡住。
但如果我使用:
Stream inStream = await Task.Run(() => readStream.OpenRead());
然后将此流传递给WriteObject,然后它就可以正常工作了。
我不知道为什么只有在我不使用Task.Run 和await 作为流时才会出现这种症状。
谁能给我一些建议或建议?
但是
Stream inStream = readStream.OpenRead() 方法未命名为“异步”
我不知道为什么我需要故意创建任务来执行此操作。
谢谢。
【问题讨论】:
标签: c# windows-runtime c#-5.0