Windows 8 Windows 8存储:在认证期间拒绝文档库访问

Windows 8 Windows 8存储:在认证期间拒绝文档库访问,windows-8,microsoft-metro,windows-runtime,winrt-xaml,Windows 8,Microsoft Metro,Windows Runtime,Winrt Xaml,我正在构建一套相互依赖的应用程序。 我想把这个共享数据存储库放在Documents library文件夹中 但是,当我尝试将应用提交到Windows 8应用商店时,我被拒绝访问该文件夹位置 我有一个开发者帐户,没有资格访问DocumentLibrary。 有人告诉我,因为我不是公司,所以我没有资格申请公司账户 脱机时如何与其他应用程序共享应用程序数据?是的,公司/个人帐户之间的差异之一是访问文档库(差异的完整列表) 如果需要脱机,一个选项是SQLLite。看蒂姆在上面的帖子 如果在线服务足够的话

我正在构建一套相互依赖的应用程序。 我想把这个共享数据存储库放在Documents library文件夹中

但是,当我尝试将应用提交到Windows 8应用商店时,我被拒绝访问该文件夹位置

我有一个开发者帐户,没有资格访问DocumentLibrary。 有人告诉我,因为我不是公司,所以我没有资格申请公司账户


脱机时如何与其他应用程序共享应用程序数据?

是的,公司/个人帐户之间的差异之一是访问文档库(差异的完整列表)

如果需要脱机,一个选项是SQLLite。看蒂姆在上面的帖子


如果在线服务足够的话,WindowsAzure移动服务提供了一个快速简便的数据库后端,这是非常棒的。更多细节

Windows应用商店应用程序在沙盒环境中运行,彼此隔离,因此它们无法轻松共享数据

如果拥有两个应用都可以连接的自定义在线服务以在它们之间共享数据还不够,那么您需要用户选择一个文件夹(从两个应用中)来存储共享数据。这样您就可以访问它

用户首先使用以下选项选择文件夹:

var picker = new FolderPicker();
picker.FileTypeFilter.Add(".sqldb");
var folder = await picker.PickSingleFolderAsync();
然后将文件夹添加到,这样即使在应用程序重新启动后,您也可以继续访问该文件夹:

var token = StorageApplicationPermissions.FutureAccessList.Add(folder);
您需要存储
令牌
,以便下次加载它。将是一个合适的位置。当您的应用程序再次运行时,您首先读取令牌,然后使用令牌重新访问选定文件夹:

var folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);

我知道这不是一个完美的解决方案,因为它需要用户干预才能正确设置所有内容,但我认为这是在应用程序之间实现此类数据共享的唯一途径。即使如此,您也可能很难证明应用程序具有此功能。

谢谢您的建议。但是,我已经在使用SQLite了。我希望db文件可用于我的所有其他Windows 8应用程序。在构建企业解决方案时,将此数据隔离在应用程序数据文件夹中并不能解决我的需要,因为其他客户端也需要访问这些数据。感谢您的指导。FilePicker是否支持默认路径,以便我可以引导用户找到所需的db文件?@ScottNimrod请尝试使用PropertyTanks获得帮助。SuggestedStartLocation不保证作为默认值工作。恐怕我不能把这当作一个答案。此帖子将此问题记录为Windows 8策略失败。