Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/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
C# 如何管理多个任务和后台服务?_C#_Windows Phone 8_Parallel Processing_Windows Phone_Multiprocessing - Fatal编程技术网

C# 如何管理多个任务和后台服务?

C# 如何管理多个任务和后台服务?,c#,windows-phone-8,parallel-processing,windows-phone,multiprocessing,C#,Windows Phone 8,Parallel Processing,Windows Phone,Multiprocessing,一个应用程序只能有一个后台代理。这个代理可以是 注册为PeriodicTask、ResourceIntensiveTask或两者。这个 代理运行的时间表取决于它是哪种类型的任务 注册为。计划的详细信息将在后面的中介绍 这个话题。一次只运行一个代理实例 如果我想在WP8中同时完成许多任务,比如从数据库获取数据和获取位置信息,该怎么办 其次,如果只能有一个后台进程,那么为什么ScheduledActionServicehaveAdd()方法呢 我尝试添加多个Windows Phone计划任务代理的项

一个应用程序只能有一个后台代理。这个代理可以是 注册为PeriodicTask、ResourceIntensiveTask或两者。这个 代理运行的时间表取决于它是哪种类型的任务 注册为。计划的详细信息将在后面的中介绍 这个话题。一次只运行一个代理实例

如果我想在WP8中同时完成许多任务,比如从数据库获取数据和获取位置信息,该怎么办

其次,如果只能有一个后台进程,那么为什么
ScheduledActionService
have
Add()
方法呢

我尝试添加多个Windows Phone计划任务代理的项目,但出现以下错误

错误2项目引用 包含两个或多个相同类型的后台代理 “ScheduledTaskAgent”。项目名称


如何同时运行并行任务

这取决于您希望并发任务何时运行。如果您希望在应用程序运行时运行所有内容,那么您根本不需要任何后台任务


如果希望在应用程序未运行时运行所有任务,只需使用一个后台代理并使用它执行所有任务

所以,当我想在应用程序运行时运行
所有内容时,我应该选择线程?WP8中是否有类似Windows服务的内容?不一定,例如,当位置发生变化时,位置API会通知您,因此不需要单独的线程,只需使用回调+1即可。好啊对于location API,或者每当我获取事件时,我可能不需要线程,但我想从数据库获取数据,还需要从服务器推/拉数据,在这种情况下,我只有线程选项。使用WebClient从服务器推/拉数据是使用回调(或异步/等待)异步完成的。如果数据库操作非常长,请使用Task.Factory.StartNew