Вызов await GetFileAsync ()никогда не возвращается, и приложение зависает в приложении WinRT

Я пытаюсь загрузить и прочитать файл настроек при запуске приложения, и примерно в 90% случаев await GetFileAsync("filename.xml");никогда не возвращается, таким образом, приложение зависает.

Примерно в четверти случаев, если я пройдусь по коду, он действительно вернется и прочитает файл.

Вот очень упрощенная версия кода:

App.xaml.cs:

protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    FileLoader.Load().Wait();

    // File-load dependent stuff
}

FileLoader.cs:

public async static Task Load()
{
    StorageFolder folder = ApplicationData.Current.LocalFolder;
    StorageFile file;
    bool fileExists = true;

    try
    {
        // The following line (often) never returns
        file = await folder.GetFileAsync("filename.xml");
    {
    catch
    {
        fileExists = false;
    }

    // Do stuff with loaded file
}

Если я смотрю окно вывода в Visual Studio, после некоторого ожидания я получаю"The thread '<No Name>' (0x30c) has exited with code 0 (0x0)."

Кто-нибудь знает, что здесь происходит?

26
задан jokeefe 3 July 2012 в 17:52
поделиться