none
如何设置WIN10 BackgroundDownloader的缓存策略? RRS feed

  • 问题

  • 使用了WIN10或WIN8的BackgroundDownloader对象下载FTP时,相同的FTP Uri一旦下载成功,系统会将下载得到的文件缓存,再次下载相同地址的文件时,不管FTP服务器是否在线或者FTP服务器上的同名文件是否更新,再次下载时系统始终会显示下载成功,并且得到的文件始终是第一次下载成功后缓存的文件。除非将开发的应用程序卸载后,再次部署才又一次下载得到相同FTP Uri的最新文件。并且一旦下载成功,文件又被缓存。

    包括微软开发人员中心提供的WIN8 商店程序FTP例子和BackgroundDownloader例子都是这个状况,微软应用商店能够下载的商店应用File Downloader下载FTP文件也是有这种文件被缓存后,始终无法下载到相同FTP Uri的最新文件的现象。

    现在开发WIN10或者WIN8商店应用的FTP客户端,微软提供了什么样的API或者类库支持?能否改进,使开发人员能指定BackgroundDownloader下载时缓存策略?

    还有目前BackgroundUploader不支持ftp://开头的地址头,即不支持FTP文件上传的开发,微软提供了什么API或者类库来支持FTP文件的上载啊?

    2015年9月14日 3:21

答案

  • BackgroundDownloader是支援ftp,只是要有username和passowrd

    Download operations via FTP are supported. However, for FTP operations, authentication credentials must be provided within the specified URI. For example, ftp://user:password@server/file.txt.

    至於不可以重複下載,這是微軟防止會有2份或以上的存放著

    Background transfer doesn't support concurrent downloads of the same Uri. So an app can download http://example.com/myfile.wmv once, or download it again after a previous download completed. An app shouldn't start two downloads of  the same Uri concurrently, since this may result in truncated files.

    https://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.backgroundtransfer.backgrounddownloader.aspx


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    請記得將對您有幫助的回覆 標示為解答 以幫助其他尋找解答及參與社群討論的朋友們。
    Please remember to click Mark as Answer on the post that helps you. This can be beneficial to other community members reading the thread.

    2015年9月15日 10:30
  • 你好,

    >>”如何设置WIN10 BackgroundDownloader的缓存策略?

    这是一个已知的问题,后续的版本可能会解决这个问题,请耐心等待,目前已知的解决方法,就是你所说的将应用卸载后重装。

    >>”还有目前BackgroundUploader不支持ftp://开头的地址头,即不支持FTP文件上传的开发,微软提供了什么API或者类库来支持FTP文件的上载啊?

    这是一个不同的问题,请以后不要在同一个帖子上发多个问题,谢谢!

    将文件上传到FTP服务器,你可以使用WebRequest, 同时你需要在Manifest文件中进行一些功能的配置,另外需要将request.Method属性值指定为”STOR“.更多关于上传FTP的资料,你可以参考这篇文章:http://www.codeproject.com/Tips/632932/FTP-Upload-Download-of-Text-Files-in-MetroApps


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2015年9月22日 1:56
    版主

全部回复

  • BackgroundDownloader是支援ftp,只是要有username和passowrd

    Download operations via FTP are supported. However, for FTP operations, authentication credentials must be provided within the specified URI. For example, ftp://user:password@server/file.txt.

    至於不可以重複下載,這是微軟防止會有2份或以上的存放著

    Background transfer doesn't support concurrent downloads of the same Uri. So an app can download http://example.com/myfile.wmv once, or download it again after a previous download completed. An app shouldn't start two downloads of  the same Uri concurrently, since this may result in truncated files.

    https://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.backgroundtransfer.backgrounddownloader.aspx


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    請記得將對您有幫助的回覆 標示為解答 以幫助其他尋找解答及參與社群討論的朋友們。
    Please remember to click Mark as Answer on the post that helps you. This can be beneficial to other community members reading the thread.

    2015年9月15日 10:30
  • 如果下载的是 http的网址,我们之前的做法是,在网址后加一个随机参数,如 网址的最后加上 v=747jdjfkfh(随机生成),这样系统就会以为你下载提一个全新的网址,不会调用缓存。

    但楼主是下载的是 ftp ,未了解这种办法是否也生效。楼主可测试一下。

    2015年9月15日 15:59
  • 下载之前清一下缓存

    新浪微博http://weibo.com/xianglitian,欢迎围观

    2015年9月19日 3:16
    版主
  • 你好,

    >>”如何设置WIN10 BackgroundDownloader的缓存策略?

    这是一个已知的问题,后续的版本可能会解决这个问题,请耐心等待,目前已知的解决方法,就是你所说的将应用卸载后重装。

    >>”还有目前BackgroundUploader不支持ftp://开头的地址头,即不支持FTP文件上传的开发,微软提供了什么API或者类库来支持FTP文件的上载啊?

    这是一个不同的问题,请以后不要在同一个帖子上发多个问题,谢谢!

    将文件上传到FTP服务器,你可以使用WebRequest, 同时你需要在Manifest文件中进行一些功能的配置,另外需要将request.Method属性值指定为”STOR“.更多关于上传FTP的资料,你可以参考这篇文章:http://www.codeproject.com/Tips/632932/FTP-Upload-Download-of-Text-Files-in-MetroApps


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2015年9月22日 1:56
    版主