Windows 8 应用商店应用,在异步调用中使用静态类成员

Windows 8 Store App, Using static class members inside async calls

本文关键字:应用 静态类 成员 调用 Windows 异步      更新时间:2023-10-16

我正在编写一个相当一致地执行多个套接字操作的应用程序,并且具有类似于javascript范式的事件消息传递系统(eventlistener.on(,)/eventlistener.emit( ) )。 我从异步调用中输出一些调试信息,该调用将 TextBlock xaml 元素附加到调试信息。 当我在异步函数之外发出相同的事件时,它工作正常。 我已经用互斥体包装了我的事件/发出调用,我认为这足以让我写入 TextBlock。

可视化事件过程:

[class]->listener->emit()->[Dispatcher]->[Listeners()]->lambda([class],

我对 WinRT 的异步函数和 Windows 8 UI/Metro/Modern 意识形态不够熟悉,无法知道是否有一种特殊的方式来从线程附加 TextBlock,或者是否有更好的方法来解决这个问题。

简而言之,是否可以从异步函数附加文本块,如果是这样,我需要做任何特别的事情吗?

只要更新在 UI/调度程序线程上,就不应该阻止您从异步函数更新 TextBlock。对特定线程的异步函数调用通常在同一线程上结束。