Я практиковал 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 () метод не был назван "async"
Я нене знаю, зачем мне нужно создавать Task специально для этого.
Спасибо.