Как отлаживать веб-приложение ASP.NET Core, используя URL-адрес, отличный от localhost - PullRequest
0 голосов
/ 07 мая 2019

У меня есть веб-приложение, которое ведет себя по-разному в зависимости от имени хоста.Чтобы протестировать его на моем локальном ПК, мне нужно будет настроить IISExpress для запуска веб-приложения, используя определенное имя, которое я предоставляю в Project -> Properties -> Debug, например http://mywebsite:58981/.

enter image description here

Но при запуске отладки появляется всплывающее сообщение «Невозможно подключиться к веб-серверу« IIS Express »».И центр активности Windows 10 предупредил меня о сообщении, и, щелкнув по нему, я получил это всплывающее окно от IIS Express:

enter image description here

Я попробовал другиепользователи предложили, например, удалить папку .vs, содержащую applicationhost.config, и перезапустить решение, но оно все равно не работает.Я даже убедился, что в IIS Express больше ничего не работает:

enter image description here

Но если я изменил URL-адрес приложения обратно на http://localhost:58981/, удалил папку .vs и, открыв решение, я могу отладить как обычно.

Поэтому мой вопрос: как мне изменить URL-адрес с localhost к чему-то еще?Я использую Visual Studio 2019, и моя Windows 10 - версия 1903.

1 Ответ

1 голос
/ 08 мая 2019

Первый совет: Запустите Visual Studio от имени администратора.

Измените файлы конфигурации IIS Express, перейдите к файлу редактирования:

\{project folder}\.vs\{yourWebApplicationName}\config\applicationhost.config

Вы найдете что-то вроде этого (найдите с именем вашего приложения):

<site name="WebApplication3" id="2">
    <application path="/" applicationPool="WebApplication3 AppPool">
      <virtualDirectory path="/" physicalPath="C:\Users\Administrator\source\repos\WebApplication3\WebApplication3" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:53717:localhost" />
      <binding protocol="https" bindingInformation="*:44325:localhost" />

    </bindings>
</site>

Добавьте <bindings>, добавьте еще одну строку с вашим собственным IP, номер порта:

<binding protocol="http" bindingInformation="*:53717:mywebsite" />

Перейдите на C:\Windows\System32\drivers\etc отредактируйте файл hosts (скопируйте в другое место, отредактируйте и скопируйте обратно):

# localhost name resolution is handled within DNS itself.
    127.0.0.1       mywebsite
#   ::1             localhost

Затем вы можете использовать http://mywebsite:53707 для отладки вашего приложения, вы можете закомментировать app.UseHttpsRedirection(); in Configure для обработки HTTP-запроса.

...