我正在练习WinRT API,但遇到了一些问题,需要您的帮助。
我想尝试使用并参考这个网站:
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()方法没有命名为“async”
我不知道为什么我需要故意创建任务才能做到这一点。
谢谢。