Я думаю, что вы подключаете две разные настройки.Netsh можно использовать для добавления сертификата для SSL, а также для разрешения прослушивания приложения на данном порту без запуска под учетной записью администратора.Исключение предназначено для второго параметра.Я не видел его раньше, но я предполагаю, что вы уже зарегистрировали этот порт для HTTP, поэтому давайте попробуем использовать (и зарегистрировать) HTTPS на другом порту или заменить предыдущую регистрацию.
Редактировать:
Открыть командную строку с повышенными привилегиями (от имени администратора).Сначала проверьте, назначен ли SSL-сертификат правильному порту:
netsh http show sslcert
Затем проверьте, зарегистрировано ли прослушивание HTTP на этом порту, путем вызова:
netsh http show urlacl
Если это так, используйте следующую команду, чтобы удалить эторегистрация:
netsh http delete urlacl url=http://+:54321/MyService
Добавьте регистрацию еще раз для поддержки прослушивания по HTTPS:
netsh http add urlacl url=https://+:54321/MyService user=domain\userName
Где пользователь - это учетная запись, используемая для запуска службы Windows.Если это локальная учетная запись, используйте только userName.
Примечание: В https, похоже, что подстановочный знак должен использоваться в urlacl.Мы не можем написать https://localhost:8733/...
, чтобы соответствовать urlacl по умолчанию для Visual Studios для http.Это, вероятно, имеет смысл, поскольку запрошенное имя хоста не доступно до окончания расшифровки.