1

在我的应用程序中,我必须从诸如http://localhost:8080/getfile/myfile_ID之类的 REST uri 获取 LOCAL Web 服务器中的一些文件,然后将它们复制到应用程序的 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 或连接到 Wifi,那么异步方法现在结束并且工作正常。

这是正常行为吗?我知道,为了从 uri 获取文件,设备必须联网,但是本地 uri 呢?

4

0 回答 0