Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UWP FileWatcher背景任务_Uwp_Background Task_File Watcher - Fatal编程技术网

UWP FileWatcher背景任务

UWP FileWatcher背景任务,uwp,background-task,file-watcher,Uwp,Background Task,File Watcher,我是新来的,目前正在为我的公司编程一个Windows10桌面UWP,它应该通过后台任务检查一个txt文件,并更新UWP磁贴/UWP辅助磁贴 使用StorageLibraryContentChangedTrigger检查用户库非常简单,效果良好。但是我的公司说,用户库不是保存txt文件的好主意(示例1): 使用此代码检查应用程序本地文件夹(示例2): List typeFilter=新列表(); typeFilter.Add(“.txt”); var queryoptions=new Window

我是新来的,目前正在为我的公司编程一个Windows10桌面UWP,它应该通过后台任务检查一个txt文件,并更新UWP磁贴/UWP辅助磁贴

使用StorageLibraryContentChangedTrigger检查用户库非常简单,效果良好。但是我的公司说,用户库不是保存txt文件的好主意(示例1):

使用此代码检查应用程序本地文件夹(示例2):

List typeFilter=新列表();
typeFilter.Add(“.txt”);
var queryoptions=new Windows.Storage.Search.queryoptions(Windows.Storage.Search.CommonFileQuery.OrderByName,typeFilter);
var query=ApplicationData.Current.LocalFolder.CreateFileQueryWithOptions(选项);
//订阅查询的ContentsChanged事件
query.ContentsChanged+=query\u ContentsChanged;
私有无效查询\u内容更改(Windows.Storage.Search.IStorageQueryResultBase发件人,对象参数)
{
WriteLine(“文件已更改!!!!”);
}
也在工作,但仅当UWP打开/激活时

问题1: 有没有一种方法可以触发ApplicationData.Current.LocalFolder,这样我就可以说“ApplicationData.Current.LocalFolder.ContentChangedTrigger”

问题2: 如果Q1不可能,我如何通过后台任务检查ApplicationData.Current.LocalFolder的内容更改

问题3: 我知道UWP在沙箱中运行,但是UWP可以对windows注册表项进行受限访问吗?读取权限已经足够了

提前感谢您的回答:-)

问题1:有没有办法触发 ApplicationData.Current.LocalFolder,所以我可以说。 “ApplicationData.Current.LocalFolder.ContentChangedTrigger”

就我而言,没有。但是,使用,您可以将文本文件放在文档库中,这可能对您的公司更有意义。我想告诉贵公司,拥有一个理想的UWP应用程序目前是一个梦想

问题2:如果Q1不可能,我还可以如何检查 ApplicationData.Current.LocalFolder,用于由 背景任务

您可以注册后台任务,然后在后台每隔15分钟检查文件的最后修改日期。另一种替代方法是使用更新互动程序,而不是使用本地文本文件

问题3:我知道UWP是在沙箱中运行的,但是UWP能有一个 限制对windows注册表项的访问?读访问权限可能已经存在 够了

没有

编辑

您需要访问Documents文件夹的受限功能。要使其用于开发,请手动将条目添加到xml Package.manifest文件:

<uap:Capability Name="documentsLibrary"/>

要将应用程序提交到具有此受限功能的应用商店,您需要请求提交

任何人都可以请求访问此功能以提交存储

问题1:有没有办法触发 ApplicationData.Current.LocalFolder,所以我可以说。 “ApplicationData.Current.LocalFolder.ContentChangedTrigger”

就我而言,没有。但是,使用,您可以将文本文件放在文档库中,这可能对您的公司更有意义。我想告诉贵公司,拥有一个理想的UWP应用程序目前是一个梦想

问题2:如果Q1不可能,我还可以如何检查 ApplicationData.Current.LocalFolder,用于由 背景任务

您可以注册后台任务,然后在后台每隔15分钟检查文件的最后修改日期。另一种替代方法是使用更新互动程序,而不是使用本地文本文件

问题3:我知道UWP是在沙箱中运行的,但是UWP能有一个 限制对windows注册表项的访问?读访问权限可能已经存在 够了

没有

编辑

您需要访问Documents文件夹的受限功能。要使其用于开发,请手动将条目添加到xml Package.manifest文件:

<uap:Capability Name="documentsLibrary"/>

要将应用程序提交到具有此受限功能的应用商店,您需要请求提交

任何人都可以请求访问此功能以提交存储


非常感谢:-)。我已经认为没有像“ApplicationData.Current.LocalFolder.ContentChangedTrigger”这样的触发器。对于“文档库”,我总是收到一条“拒绝访问”的错误消息。所有其他库都工作得很好。当我使用Visual Studio 2017查看Package.appxmanifest文件时,我只能选择库“图片”、“音乐”和“视频”作为功能。如果我没有弄错的话,对“文档库”的访问仅限Microsoft。@T.Fischer我更新了文档库的答案。不仅是Microsoft,您还需要请求访问权限才能提交。非常感谢:-)。我已经认为没有像“ApplicationData.Current.LocalFolder.ContentChangedTrigger”这样的触发器。对于“文档库”,我总是收到一条“拒绝访问”的错误消息。所有其他库都工作得很好。当我使用Visual Studio 2017查看Package.appxmanifest文件时,我只能选择库“图片”、“音乐”和“视频”作为功能。如果我没有弄错的话,对“文档库”的访问仅限Microsoft。@T.Fischer我更新了文档库的答案。不仅是Microsoft,您还需要申请提交权限。
<uap:Capability Name="documentsLibrary"/>