Не удается запустить отладку на ранее используемом порту в IIS Express - PullRequest
0 голосов
/ 15 апреля 2020

Недавно я решил переместить свое ASP NET Core решение на новое место, и, очевидно, что-то пошло не так.

В файле launchSettings.json были указаны:

"iisExpress": {
  "applicationUrl": "http://localhost:53985",
  "sslPort": 44325
}

Когда я переместил целое решение вместе с этим файлом, я получил ошибку сброса соединения (да, это было для SSL).

Когда я изменил его на что-то новое, например. 44330, это сработало.

Использование netsh http show sslcert Я вижу, что там указано 44330, а 44325 - нет. Так почему я не могу использовать его повторно?

После частого перемещения многих проектов у меня закончатся порты для использования! Какое средство для этого?

1 Ответ

1 голос
/ 16 апреля 2020

Скопировано из комментария с более подробной информацией.

Запросы на http://localhost:44325 могут быть сброшены, если HTTP.sys не может найти действительную привязку сертификата к этому порту. Поскольку вы подтвердили netsh, что такой сертификат действительно отсутствует, мы затем знаем точную причину ошибки сброса.

Первоначальное сопоставление сертификата было создано для 44300-44399 установщиком IIS Express, поэтому VS всегда предполагает, что порт 44325 имеет связанный сертификат. Однако довольно сложно сказать, почему теперь сопоставление сертификатов отсутствует, поскольку все может изменить настройки HTTP.sys.

Решение состоит в том, чтобы воссоздать сопоставление сертификатов с netsh для порта 44325 (вы можете обратиться к в другие сопоставления сертификатов, чтобы узнать, какие параметры вам нужны)

...