Как отправить строку кросс-приложения в одном устройстве UWP? - PullRequest
0 голосов
/ 07 сентября 2018

Я занимаюсь разработкой приложения, которое состоит из трех отдельных приложений. (два фона, один с графическим интерфейсом), которые работают на Raspberry PI 3B + с Windows 10 IOT Core. Схема проста

Коммуникатор -> Преобразование данных -> Визуализация

Моя проблема в том, что я не могу эффективно отправлять данные из одного приложения в другое без активности пользователя. Решение Windows для передачи данных требует действий пользователя или запуска другого приложения. (https://docs.microsoft.com/en-us/windows/uwp/app-to-app/)

Данные - это короткие сериализованные объекты JSON в строки.

Я пробовал протокол TCP, но он не разрешен на одном устройстве для нескольких приложений (почему? Я не понимаю).

Теперь я делаю это, создавая текстовый файл в папке Picture, следующее приложение прочитает этот файл и удалит файл. Этот метод медленный и часто дает сбой.

Есть ли другое решение? Лучшим будет поток или какая-то быстрая передача файлов.

Спасибо за любую идею.

РЕШЕНИЕ: https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service

Это не идеально, потому что в фоновых задачах вы будете делать еще одну фоновую задачу. Но работает довольно хорошо.

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/AppServiceBridgeSample/cs

это IMO - самый чистый и простой пример использования сервиса при двусторонней связи между UWP и фоновым настольным приложением, есть случай, когда в части решения Win32 ссылка «Windows» ошибочна, удалите это и следуйте и попробуйте соединить это выбором обзора, это обычно находится в c> Программные файлы x86> Комплекты Windows> UnionMetadata> yourversion> windows.winmd , также образец является старым, таким образом, Вы могли бы хотеть встряхнуть до версии по умолчанию NET и мин Windows.

Что это за файл Windows.winmd, это просто файл метаданных, который позволяет классическим настольным приложениям win32 понимать и читать новый Apis, используемый UWP.

Приложение также использует функциональность runfulltrust UWP, которая является надежным способом запуска приложений win32, ознакомьтесь с некоторыми статьями, а также просмотрите схему манифеста, чтобы получить лучшее представление об этом, если вам интересно.

0 голосов
/ 07 сентября 2018

посмотрите на это: https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service

это позволит вам отправлять данные на одном устройстве в фоновую задачу других приложений

...