WCF wsdualhttpbinding клиент без повышения прав

Я создал службу Windows (сервер) и WPF (клиент), который использует функции обратного вызова wsdualhttpbinding для WCF. Все между этими двумя частями программного обеспечения работает правильно, но проблема, с которой я сталкиваюсь, заключается в том, что клиент должен работать с повышенными правами администратора (это понятно, потому что он должен открывать порты для связи с сервером)

Есть ли способ настроить клиент для работы без повышения прав? Или, возможно, создать одноразовое постоянное соединение, чтобы клиенту не нужно было постоянно повышаться?

У меня заканчиваются идеи и условия поиска Google.

ОБНОВИТЬ

Я нашел решение. Пожалуйста, поправьте меня, если есть другая лучшая практика, которой я мог бы следовать!

Я добавил кнопки «Включить» и «Отключить» в клиентское приложение, которое запускает netsh, чтобы открыть (или закрыть) и зарезервировать порт.

включить

Process process = new Process();
process.StartInfo = new ProcessStartInfo("netsh", @"http add urlacl url=http://+:" + PortNumber + @"/ user=DOMAIN\username");
process.StartInfo.Verb = "runas";
process.Start();
process.WaitForExit();

запрещать

Process process = new Process();
process.StartInfo = new ProcessStartInfo("netsh", "http delete urlacl url=http://+:" + PortNumber + "/");
process.StartInfo.Verb = "runas";
process.Start();
process.WaitForExit();

Ответы на вопрос(2)

Ваш ответ на вопрос