Visual Studio 2015:IIS Express 中的自定义域 - 主机名无效

Visual Studio 2015: Custom Domains in IIS Express - Invalid Hostname

我将 ASP.NET MVC 项目升级为使用 Visual Studio,但出现了令人讨厌的 Bad Request - Invalid Hostname 错误。这个问题在过去的 Visual Studio(例如 Using Custom Domains With IIS Express)版本中已经被记录下来,但我似乎找不到 Visual Studio 2015 的解决方案。

我使用许多自定义域(例如 http://foo.testsite.local:1299)来 运行 我的网站。我 运行 Visual Studio 作为管理员,我在 applicationhost.config 中的绑定如下所示:

        <bindings>
          <binding protocol="http" bindingInformation="*:1299:" />
          <binding protocol="https" bindingInformation="*:44300:" />
        </bindings>

这在 Visual Studio 2013 年工作得非常好,但出于某种原因,运行在 Visual Studio 2015 年 returns 启用了我的 ASP.NET MVC 应用程序:

HTTP/1.1 400 Bad Request

Bad Request - Invalid Hostname

任何解决方法?我需要在绑定中使用通配符而不是硬编码 URL,因为我的应用支持多个域名(包括自定义子域)。

我应该注意到 http://localhost:1299 确实适用于这些设置。

默认情况下,VS 2015 解决方案不再使用用户文件夹中的 applicationhost.config 文件。相反,他们在解决方案下的 .vs\config 文件夹中即时创建一个。如果要使用用户文件夹中的全局文件,请在项目文件中设置以下 属性。这是每个项目的设置。

<UseGlobalApplicationHostFile>
    true
<UseGlobalApplicationHostFile>
  1. 转到路径= C:\Users\(用户名)\Documents\Visual Studio 2015\Projects\{你的项目文件夹}\.vs\config.
  2. 编辑文件 applicationhost.config 如下: 将绑定协议="http" bindingInformation=":1743:localhost" 更改为 绑定协议="http" bindingInformation=":1743:*"
  3. 以管理员身份打开cmd并输入: netsh http 添加 urlacl url=http://*:1743/ user=everyone