La llamada para esperar GetFileAsync () nunca regresa y la aplicación se bloquea en la aplicación WinRT
Estoy intentando cargar y leer un archivo de configuración en el inicio de la aplicación, y aproximadamente el 90% del tiempo, elawait GetFileAsync("filename.xml");
Nunca vuelve, así, colgando la aplicación.
Aproximadamente una cuarta parte del tiempo, si paso por el código, realmente regresará y leerá el archivo.
Aquí hay una versión muy simplificada del código:
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
}
Si veo la ventana de salida en Visual Studio, después de un tiempo de espera, obtengo"The thread '<No Name>' (0x30c) has exited with code 0 (0x0)."
¿Alguien tiene alguna idea de lo que está pasando aquí?