【问题标题】:How to debug ASP.NET Core webapp using a URL other than localhost如何使用 localhost 以外的 URL 调试 ASP.NET Core webapp
【发布时间】:2019-05-08 13:26:49
【问题描述】:

我有一个 Web 应用程序,它的行为因主机名而异。为了在我的本地 PC 上测试它,我需要安排 IISExpress 使用我在项目 -> 属性 -> 调试中提供的特定名称运行 Web 应用程序,例如 http://mywebsite:58981/

但是当开始调试时,弹出一条消息“无法连接到网络服务器'IIS Express'”。 Windows 10 活动中心提醒我一条消息,单击它后,我收到了来自 IIS Express 的弹出窗口:

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

但是如果我把App URL改回http://localhost:58981/,删除.vs文件夹,打开解决方案,就可以正常调试了。

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

【问题讨论】:

  • 将 Web 应用程序发布到 IIS,然后您可以在 IIS 上对其进行测试或调试。 Microsoft 将 VS/IIS Express 集成设计为仅适用于 localhost 是有原因的,您可能不应该挑战。当然,可以有第三方选项。更多背景可在blog.lextudio.com/…

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


【解决方案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>

添加&lt;bindings&gt;,再添加一行自己的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来调试你的应用程序,你可以注释掉Configure中的app.UseHttpsRedirection();来处理HTTP请求。

【讨论】:

  • 谢谢!以管理员身份运行就可以了。并且手动添加额外的绑定解决方案很优雅,我只需要做一次,所以一旦完成,我可以在主机名之间切换而无需重新启动调试会话。
  • 以管理员身份运行 vs 可以吗?我记得在某处读到以管理员身份运行 vs 可能会造成一些麻烦,但我不记得有什么麻烦。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2015-07-12
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
相关资源
最近更新 更多