UWP:可以创建您自己的网络文件(类似于OneDrive)吗?

UWP: Is it possible to create your own network files (similar to Onedrive)?(UWP:可以创建您自己的网络文件(类似于OneDrive)吗?)
本文介绍了UWP:可以创建您自己的网络文件(类似于OneDrive)吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在查看Determining availability of Microsoft OneDrive files的文档,我想知道是否可以自己创建此类文件。换句话说,是否可以创建可由您的应用程序自动下载或同步的网络文件,或者此功能是否保留给OneDrive?

我自己找不到任何关于这方面的信息,我猜是后者,但我希望其他人能就这个话题提供更多的见解。

推荐答案

自Windows10创建者更新以来,微软提供Cloud Sync Engine / Cloud Filter API。它支持OneDrive拥有的所有功能:下载(消隐)、同步、脱机模式和Win文件管理器中的命令。某些API可通过.NET使用,但大多数是Win32 API。

以下是GitHub上的示例:

  • CloudMirror sample in C++。
  • Virtual File System sample in C#。
云过滤API提供了几种模式,其中一些模式不适用于类似OneDrive的磁盘。这里有一些一般原则,所以您不需要测试和理解所有的模式:

  1. 使用StorageProviderSyncRootInfo创建存储,PopulationPolicy设置为StorageProviderPopulationPolicy.Full。然后,当应用程序尝试列出文件夹内容或读取文件内容时,将调用您的回调。

  2. 在第一个文件夹列表期间,在CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS内创建占位符。完成初始文件夹列表后,禁用按需填充。不要更新此回调中的占位符。它似乎仅用于初始占位符创建。

  3. 在服务器上创建/更新/删除/移动/重命名任何文件/文件夹时,通过Web套接字或其他技术(推送)通知客户端,并相应地更新客户端占位符。或者,您可以拉出服务器或实施其他同步算法。

这篇关于UWP:可以创建您自己的网络文件(类似于OneDrive)吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)