You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP进程内后台任务无法通过SocketActivityTrigger触发求助

UWP进程内后台任务SocketActivityTrigger触发失败问题

我的应用需要在挂起状态下进行Socket通信,此前尝试进程外后台任务未成功。目前正在评估进程内后台任务方案,但默认的OnBackgroundActivated()方法无法被SocketActivityTrigger事件触发。

以下是我的操作步骤:

  • 步骤1:在App.xaml.cs的public App()方法中注册后台任务:
foreach (var current in BackgroundTaskRegistration.AllTasks)
{
    if (current.Value.Name == "SocketBackgroundTask")
    {
        _backgroundRegistrationTask = current.Value;
        break;
    }
}

if (_backgroundRegistrationTask == null)
{
    var socketBackgroundTask = new BackgroundTaskBuilder();
    socketBackgroundTask.Name = "SocketBackgroundTask";
    socketBackgroundTask.SetTrigger(new SocketActivityTrigger());
    var result = await BackgroundExecutionManager.RequestAccessAsync();
    try
    {
        _backgroundRegistrationTask = socketBackgroundTask.Register();
        if (_backgroundRegistrationTask != null)
        {
            Trace.WriteLine("BackgroundTaskRegistration OK :" + result.ToString());
        }
    }
    catch (Exception ex)
    {
        Trace.WriteLine("BackgroundTaskRegistration NG! :" + ex.Message);
    }
}
  • 步骤2:OnBackgroundActivated()方法实现如下:
base.OnBackgroundActivated(args);
IBackgroundTaskInstance taskInstance = args.TaskInstance;
SocketActivityTriggerDetails socketTriggerDetails = taskInstance.TriggerDetails as SocketActivityTriggerDetails;

if (socketTriggerDetails != null)
{
    var socketInformation = socketTriggerDetails.SocketInformation;
    Trace.WriteLine("Socket Information = " + socketInformation.ToString());
    Trace.WriteLine("Trigger Reason = " + socketTriggerDetails.Reason.ToString());
    _socketActivityTask = new SocketActivityTask();
    _socketActivityTask.Run(taskInstance);
}
  • 步骤3:根据官方文档说明,仅将触发器替换为SocketActivityTrigger应该可行,但实际未生效。后台任务注册成功,但事件查看器中出现错误:

The background task with entry point Windows.ApplicationModel.Core.DefaultInProcBackgroundTask and name SocketBackgroundTask failed to activate with error code 0x8027025B.

错误日志截图

找不到任何SocketActivityTrigger用于进程内后台任务的资源或示例代码,恳请提供相关见解或指引方向。

内容的提问来源于stack exchange,提问作者Dileepa Rathnayake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 17:43:17