使用BackgroundDownloader时出现HRESULT 0x80072EE4错误

4
每次我在我的C#代码中调用BackgroundDownloader的CreateDownload时,为Windows Store应用程序,我都会收到以下异常: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 背景传输示例时,我在相同的方法处遇到了相同的异常。
在谷歌上搜索0x80072EE4时,建议移动临时互联网文件以解决问题。在我的情况下,它没有起作用。

内部异常信息里有什么吗? - H H
这是一个Windows错误代码,12004 = ERROR_INTERNET_INTERNAL_ERROR,“发生了内部错误”。好吧,这应该可以缩小范围:( 微软Windows组设计的WinRT在错误报告方面明显比DevDiv痛苦。 - Hans Passant
你是在模拟器还是实际桌面上尝试这个? - Nate Diamond
@NateDiamond,我的实际桌面。模拟器给出了相同的结果,似乎使用了我的桌面环境。 - Wietze
最终,这个问题不再出现了。可能是由于.NET Framework或Visual Studio的更新所导致的结果。 - Wietze
显示剩余2条评论
2个回答

1
我知道这是一个老问题,但我想我找到了一些有价值的信息。在使用后台下载程序(以及可能的其他操作)时,当我删除所有Windows用户/账户的权限(我猜这是我的应用程序用于写入临时文件的用户/账户)时,我遇到了HRESULT: 0x80072EE4错误。
请检查"{userAccount}\AppData\Local\Packages{yourAppName}\AC"文件夹中的权限,特别是其中的"BackgroundTransferApi"文件夹,并确保有一个名为"S-1-15-2-.......{veryLongString}"的账户,并设置其所有权限。
希望这能对未来的访问者有所帮助 :)

0
对我来说,在我试图访问的网站上,SSL证书无效时出现了此错误。
具体来说是:NET :: ERR_CERT_AUTHORITY_INVALID
当我解决了SSL证书时,后台下载器就不再有这个错误了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接