Работа вокруг петлевой изоляции сети приложений UWP
Я пытался заблокировать приложение UWP для получения данных с локального порта UDP в следующем сценарии:
- Windows 10 | Версия 10.0.16299 Build 16299
- Цель UWP и минимальная версия 10.0.16299
- Заявленные возможности:
- Интернет (клиент и сервер)
- Интернет (Клиент)
- UdpClient прослушивает 127.0.0.1:1234
- Протестировано на двух разных системах в разных сетях с одинаковым результирующим поведением
Я знаю о CheckNetIsolation
инструмент и уже пробовал следующие шаги несколько раз:
- Обеспечение регистрации приложения во время работы с
CheckNetIsolation loopbackexempt -s
- Очистка всех исключений с
CheckNetIsolation loopbackexempt -c
и вручную добавить приложение сCheckNetIsolation loopbackexempt -a -n=*Package Family Name*
- Запуск приложения, когда все ограничения сняты с
CheckNetIsolation loopbackexempt -c
Я запускаю свое приложение из Visual Studio, awaiting for UdpClient.ReceiveAsync()
вернуть что-то в цикле.
Мой код работает нормально, когда я использую его из консольного приложения.Net Framework 4.7.2, поэтому я могу исключить любые ошибки, мешающие этому.
Единственное, что позволяет мне получать данные в моем приложении UWP - это запуск CheckNetIsolation loopbackexempt -is -n=*Package Family Name*
, Как только я перестаю работать, мой UDP-клиент перестает получать aata.
К сожалению, решение, которое я нашел, и другие инструменты, которые перенаправляют связь таким образом, что они кажутся отправленными из другого источника, невозможны из-за различных ограничений.