2017-07-20 52 views
1

我需要從Windows 10通用應用程序與通過TCP/IP連接的某些外圍設備進行通信。具體來說,這些是MODBUS設備,我需要不斷地輪詢設備(每秒多次)才能讀取狀態值並據此採取措施。應用程序將有多種形式,每種形式都能夠根據從外設讀取的值接收數據。我的當前(Win32)實現運行一些後臺線程,只需發送讀取命令,讀取結果,然後根據需要通過引發各種表單可以訂閱的事件處理結果,我相信這是我也應該在UW​​P中採取這種做法。在UWP背景下輪詢TCP/IP

使用UWP有更好的方法嗎?如果應用程序移入後臺並且/或者我能否阻止暫停,這會工作嗎?

謝謝。

回答

2

你提出的實現聽起來像是需要輪詢這些設備的應用程序的最佳方法。執行關閉UI線程的輪詢並編組您的頁面的事件以從中收集處理後的數據。

對於運行時最小化:如果您只需要收集這些信息的前臺應用程序運行時,則擴展執行可能是你的選擇。當你最小化應用程序時,它會自動移動到掛起狀態,除非你請求某種形式的延長時間。你可以請求Unspecified Extended Execution,其具有限制當使用電池電源比可以基於用戶設置被移除。這將使應用程序在最小化時運行,但在關閉時不會運行。