Что происходит, когда я использую StorageFolder.OpenStreamForReadAsync(); управление не остается в этой точке

#c# #xaml #windows-8

#c# #xaml #windows-8

Вопрос:

Я создал класс на c # с функцией, с помощью которой я открываю файл

 storageFolder.OpenStreamForReadAsync(filename); 
  

далее я прочитал этот файл, произвел некоторые вычисления и сохранил эти вычисления в свойствах класса.

В MainPage.xaml.cs я создал объект вышеупомянутого класса и вызвал функцию. Когда я отлаживаю это, я обнаружил, что элемент управления появляется в вышеупомянутой строке и исчезает и возвращается на главную страницу.xaml.cs. Он не открывает файл, не дает никаких исключений. Я уже установил учетные данные для чтения этого файла в файле манифеста.

Иногда, когда я останавливаюсь во время отладки, управление снова возвращается в указанную выше строку, начинается дальнейшее выполнение в этой функции.

В чем причина этого? Что мне нужно сделать, чтобы преодолеть это?

Комментарии:

1. Я думаю, вам нужно использовать ключевое слово ‘await’ перед этим утверждением.

2. Я сделал это, но это не останавливается на достигнутом. Управление переходит туда и исчезает или доходит до точки, где я вызвал функцию. Я думаю, что это проблема, связанная с обработкой потоков, и не знаю, как с этим работать.

3. что ж, либо вы публикуете код здесь, либо немного читаете об асинхронных функциях .net

4. Спасибо CodeWeed. Я читал об асинхронных функциях .net. 🙂