Отправить сообщение между процессами
Я создаю приложение с фоновым аудиоплеером. Согласно требованиям MS, проигрыватель реализован в виде отдельной DLL и живет в другом процессе.
Я могу передать название дорожки обратно в процесс пользовательского интерфейса, обновив BackgroundAudioPlayer.Instance.Track
объект.
Однако я хотел бы, чтобы мой пользовательский интерфейс также сообщал о состоянии моего буфера загрузки.
Какой метод IPC я могу использовать в WP7 для уведомления моего процесса графического интерфейса?
Обновление: я рассмотрел возможность использования 4 именованных событий ручного сброса для передачи 4 бит данных - сбой, WP7 поддерживает только неназванные события, которые подходят только для синхронизации потоков внутри одного и того же процесса.
Я рассмотрел System.Windows.Messaging - сбой, SendCompletedCallback вызывает "LocalMessage_CouldNotDeliverMessage", а в документации говорится, что локальный обмен сообщениями не поддерживается в WP7.
До сих пор я знаю только один способ - записывать файлы в изолированное хранилище и защищать их по имени mutex. Я действительно не хочу изнашивать вспышку NAND, делая это. Есть ли лучшие методы? В WP7 есть ядро WinCE, в котором доступно множество методов - почтовые слоты, LPC, RPC, COM, каналы, разделяемая память и многие другие - я не могу поверить, что ни один из них не подвергается воздействию Silverlight…