A method was called at an unexpected time

exception, local-storage, windows-8, windows-runtime, winrt-async

Solution

You need to wait for the async method to complete. So you could use the new await as one option:

var files = await myStorageFolder.GetFilesAsync();

You might want to check the documentation on dealing with async methods here.

Problem

I'm trying to iterate all files in a directory using GetFilesAsync, but every time I call the GetResults method, it throws an exception that says System.InvalidOperationException: A method was called at an unexpected time The code is simply ``` var files = myStorageFolder.GetFilesAsync(); //runs fine var results = files.GetResults(); //throws the exception ``` I'm new to Win 8 dev so I might be missing something obvious. Edit (solved) I'm running my console application, but now that the program runs async, the `files.GetResult()` method no longer exists. ``` static void Main(string[] args) { var files = GetFiles(myStorageFolder); var results = files.GetAwaiter().GetResults();//Need to add GetAwaiter() } static async Task GetFiles(StorageFolder sf) { await sf.GetFilesAsync(); } ```

Original source