如何使用本地主机以外的 URL 调试 ASP.NET 核心 webapp
How to debug ASP.NET Core webapp using a URL other than localhost
我有一个 Web 应用程序,其行为因主机名而异。为了在我的本地 PC 上测试它,我需要安排 IISExpress 运行 使用我在项目 -> 属性 -> 调试中提供的特定名称的 Web 应用程序,例如 http://mywebsite:58981/.
但是在开始调试的时候,弹出一个提示信息"Unable to connect to web server 'IIS Express'"。 Windows 10 activity 中心提醒我一条消息,单击它后,我收到了来自 IIS Express 的弹出窗口:
我尝试了其他用户的建议,例如删除包含 applicationhost.config 的 .vs 文件夹并重新启动解决方案,但它仍然不起作用。我什至确保 IIS Express 没有任何其他东西 运行ning:
但是如果我把应用URL改回http://localhost:58981/,删除了.vs文件夹,并打开解决方案,我可以像往常一样调试。
所以我的问题是:如何将 URL 从 localhost 更改为其他内容?我是 运行宁 Visual Studio 2019 年,我的 Windows 10 是 1903 年版。
第一个建议是 运行 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
调试您的应用程序,您可以在Configure
中注释掉app.UseHttpsRedirection();
来处理HTTP请求。
我有一个 Web 应用程序,其行为因主机名而异。为了在我的本地 PC 上测试它,我需要安排 IISExpress 运行 使用我在项目 -> 属性 -> 调试中提供的特定名称的 Web 应用程序,例如 http://mywebsite:58981/.
但是在开始调试的时候,弹出一个提示信息"Unable to connect to web server 'IIS Express'"。 Windows 10 activity 中心提醒我一条消息,单击它后,我收到了来自 IIS Express 的弹出窗口:
我尝试了其他用户的建议,例如删除包含 applicationhost.config 的 .vs 文件夹并重新启动解决方案,但它仍然不起作用。我什至确保 IIS Express 没有任何其他东西 运行ning:
但是如果我把应用URL改回http://localhost:58981/,删除了.vs文件夹,并打开解决方案,我可以像往常一样调试。
所以我的问题是:如何将 URL 从 localhost 更改为其他内容?我是 运行宁 Visual Studio 2019 年,我的 Windows 10 是 1903 年版。
第一个建议是 运行 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
调试您的应用程序,您可以在Configure
中注释掉app.UseHttpsRedirection();
来处理HTTP请求。