每次当我在 Windows 应用商店应用程序的 C# 代码中对 BackgroundDownloader 调用 CreateDownload 时,我都会收到以下异常: Exception from HRESULT: 0x80072EE4 。我已经在我的包文件中声明了所有必要的功能。

示例 此代码在调用 CreateDownload() 时中断:

public static async void DownloadFile(string url){
    var uri = new Uri(url, UriKind.Absolute);
    FileSavePicker openPicker = new FileSavePicker();
    openPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary;
    openPicker.FileTypeChoices.Add("Video file", new List<string>() { ".mp4" });
    StorageFile file = await openPicker.PickSaveFileAsync();
    if (file != null)
    {
        DownloadOperation downloader = new BackgroundDownloader().CreateDownload(uri, file); //BREAKS HERE
        //... (rest of code)
    }
}

异常 这是我得到的确切异常:
System.Exception was unhandled by user code
  HResult=-2147012892
  Message=Exception from HRESULT: 0x80072EE4
  Source=Windows.Networking
  StackTrace:
   at Windows.Networking.BackgroundTransfer.BackgroundDownloader.CreateDownload(Uri uri, IStorageFile resultFile)
       at Example.BlankPage1.<DownloadFile>d__1.MoveNext()
  InnerException:

当我尝试运行 Windows 8.1 Background Transfer sample 时,我以相同的方法得到相同的异常。

当谷歌搜索 0x80072EE4 时,建议移动临时 Internet 文件可以解决问题。就我而言,它不起作用。

最佳答案

我知道这是一个老问题,但是,我想我只是找到了一些关于它的值(value)的输入。

在删除 Windows 用户/帐户的所有权限(我猜)我的应用程序在使用后台下载程序(可能还有其他东西)时用于写入临时文件后,我收到了 HRESULT: 0x80072EE4 错误。

检查“{userAccount}\AppData\Local\Packages{yourAppName}\AC”文件夹的权限,特别是其中的“BackgroundTransferApi”文件夹,并确保有一个类似于“S-1-15”的帐户-2-.......{veryLongString}"并且它已设置所有权限。

希望这有助于一些 future 的访客:)

关于c# - 使用 BackgroundDownloader 时的 HRESULT 0x80072EE4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21364295/

10-11 08:08