后台 UWP 网络通信
Posted
技术标签:
【中文标题】后台 UWP 网络通信【英文标题】:UWP network communication in the background 【发布时间】:2018-06-13 22:12:41 【问题描述】:我正在尝试阅读 UWP 中名为 Network communications in the background 的后台任务网络官方教程。但是,由于本教程从 C++ 代码移植的效果不佳,因此代码在被修改为能够编译后,无法实例化 ControlChannelTrigger
对象并出现 AccessDenied
异常。
在下面一行抛出异常。
channel = new ControlChannelTrigger(channelId, serverKeepAliveInterval,
ControlChannelTriggerResourceType.RequestHardwareSlot);
我阅读了关于锁定屏幕的评论并尝试将应用添加到锁定屏幕(尽管这应该不再是限制),但错误仍然存在。
我正在尝试与我自己的服务器保持持久的WebSocket
连接以允许推送通知(我知道 WNS,但它不是我的用例的正确选择)。
我的问题与相关问题ControlChannelTrigger in UWP Windows 10 access denied中的一个类似。
为简单起见,我将所有内容都实现为进程内后台任务。
任何人都可以提出解决方案或解决方法吗?教程会不会过时了?
【问题讨论】:
【参考方案1】:不出所料,我又找到了自己问题的答案。
注册的后台任务不能是进程内任务,必须注册为进程外任务。
至于Windows.Networking.Sockets.WebSocketKeepAlive
入口点,我通过创建一个包含Windows.Networking.Sockets.WebSocketKeepAlive
并调用其Run(…)
方法的后台任务来解决问题。
【讨论】:
以上是关于后台 UWP 网络通信的主要内容,如果未能解决你的问题,请参考以下文章