UWP BackgroundDownloader().CreateDownload() или CreateStreamedFileFromUriAsync(), когда устройство не подключено к сети

В моих приложениях я должен получить какой-то файл на локальном веб-сервере из REST uri, например http://localhost:8080/getfile/myfile_ID", а затем скопировать их в localStorage приложения, чтобы я продолжал так:

StorageFolder fileFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync("MyFiles");
StorageFile file =await fileFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

var download = new BackgroundDownloader().CreateDownload(source, file);
await download.StartAsync();

или вот так:

StorageFile file = await StorageFile.CreateStreamedFileFromUriAsync(filename, source, RandomAccessStreamReference.CreateFromUri(source));

Это работает нормально на любом устройстве, расположенном в сети, на устройствах, которые получили IP, но когда устройство не подключено к какой-либо сети (не подключен к RJ45 или не подключен к какому-либо Wifi), код застрял на этих линиях без каких-либо ошибок. В отладке я вижу, что программа просто ждет завершения асинхронного метода, но этого не произошло. Если во время отладки я снова подключаю RJ45 или подключаюсь к Wi-Fi, асинхронный метод теперь заканчивается и работает нормально.

Это нормальное поведение? Я понимаю, что для получения файла с URI устройство должно быть подключено к сети, но как насчет локального URI?

0 ответов

Другие вопросы по тегам