Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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# Windows8后台任务与异步任务(延迟)_C#_Vb.net_Windows 8_Windows Runtime_Async Await - Fatal编程技术网

C# Windows8后台任务与异步任务(延迟)

C# Windows8后台任务与异步任务(延迟),c#,vb.net,windows-8,windows-runtime,async-await,C#,Vb.net,Windows 8,Windows Runtime,Async Await,我想在后台任务winmd上更新活动磁贴 Public异步子运行(taskInstance作为IBackgroundTaskInstance)实现IBackgroundTask.Run Dim Deleral作为BackgroundTaskDeleral=taskInstance.GetDeleral() UpdateLiveFile() 延期完成 端接头 "及 公共共享异步子更新文件() .... 等待更新图片…一些东西 端接头 如果我这样编写代码,后台任务将在updateTimeImage之

我想在后台任务winmd上更新活动磁贴

Public异步子运行(taskInstance作为IBackgroundTaskInstance)实现IBackgroundTask.Run
Dim Deleral作为BackgroundTaskDeleral=taskInstance.GetDeleral()
UpdateLiveFile()
延期完成
端接头
"及
公共共享异步子更新文件()
....
等待更新图片…一些东西
端接头
如果我这样编写代码,后台任务将在
updateTimeImage
之前退出进程。 这意味着在执行整个过程之前,将到达
deleral.Complete()

因此,我尝试将UpdateLiveFile更改为异步任务,如:

Public异步子运行(taskInstance作为IBackgroundTaskInstance)实现IBackgroundTask.Run
Dim Deleral作为BackgroundTaskDeleral=taskInstance.GetDeleral()
等待UpdateLiveFile()
延期完成
端接头
"及
公共共享异步函数UpdateLiveFile()作为任务
....
端函数
但是编译器抛出了一个类似“将方法签名更改为使用其中一个…”的错误,这可能说明我不能在Windows运行时将函数作为任务启动,而不是在正常的.Net框架中

实际错误消息:方法“BackgroundTasks.NS.UpdateLiveFile()” 在其属性中具有“System.Threading.Tasks.Task”类型的参数 签名。虽然此类型不是有效的Windows运行时类型,但是 实现属于有效Windows运行时类型的接口。考虑 将方法签名更改为使用以下类型之一 而是:''。背景任务

(应为公共和共享功能)


总之,我只想确保在调用deleral.Complete()之前可以完成整个过程。谢谢

请发布实际的编译器错误。将其更改为return Task是正确的解决方案。@Stephen Cleary发布了一条实际的错误消息。请尝试将函数设置为Private。