我正在使用Windows 8应用。在应用程序运行时,我正在尝试确定用户的互联网连接何时恢复。为了做到这一点,我正在听NetworkChange_NetworkAddressChanged
事件。当该事件被触发时,我尝试通过名为GetLatestData
的方法更新我的UI并将我的查询执行到我的Web服务。当我尝试在NetworkChange_NetworkAddressChanged
事件中调用此方法时,我当前收到一条错误消息:
该应用程序调用了一个为不同线程编组的接口。
如何克服此错误以更新我的用户界面并点击NetworkChange_NetworkAddressChanged
事件中的网络服务?
答案 0 :(得分:4)
NetworkInformation.NetworkStatusChanged += (sender) =>
{
Window.Current.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, Update);
};
上面的示例调用(marshals)使用UI线程更新函数。
答案 1 :(得分:0)
与在WIndows 7中执行此操作的方式相同 - 您使用UI线程Dispatcher将MARSHAL返回到UI线程。