如何使用本地主机以外的URL调试ASP.NET Core Web应用程序

时间:2019-05-07 20:30:07

标签: asp.net-core visual-studio-2017 asp.net-core-mvc visual-studio-2019

我有一个Web应用程序,其行为取决于主机名。要在本地PC上对其进行测试,我将需要安排IISExpress使用我在Project-> Properties-> Debug中提供的特定名称(例如 http://mywebsite:58981/

enter image description here

但是在开始调试时,弹出消息“无法连接到Web服务器IIS Express”。 Windows 10活动中心向我提醒了一条消息,单击该消息后,我从IIS Express收到此弹出窗口:

enter image description here

我尝试了其他用户的建议,例如删除包含applicationhost.config的.vs文件夹,然后重新启动了解决方案,但仍然无法正常工作。我什至确保IIS Express不会再运行其他任何东西:

enter image description here

但是,如果我将应用程序URL更改回 http://localhost:58981/ ,删除了 .vs 文件夹,然后打开解决方案,我可以照常进行调试。< / p>

所以我的问题是:如何将URL从 localhost 更改为其他名称?我正在运行Visual Studio 2019,而Windows 10是1903版。

1 个答案:

答案 0 :(得分:1)

第一个建议是以管理员身份运行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();中注释掉Configure来处理HTTP请求。