如何在IISExpress上将子域与本地主机一起使用



我现在正在通过localhost:5252在本地提供我的MVC应用程序。

我正在尝试设置我的应用以测试多租户,方法是让 localhost 和 contoso.localhost 都指向我的 Web 应用实例。

我使用相应的条目设置了我的主机文件:

127.0.0.1       contoso.localhost

但是,我不确定还需要做什么才能完成这项工作。 现在,当我导航时,我只得到一个标准的IIS8页面,即使我没有在IIS管理器中做任何事情。

我试图避免在本地使用IIS,因为一切都在IISExpress上工作。 有没有简单的方法可以实现这一目标?

这可以通过编辑 applicationHost.config 文件来完成

C:UsersyourProfileDocumentsIISExpressconfigapplicationHost.config

Visual Studio 通常会在你进行配置更改时为你编辑此文件,但你可以手动编辑。 找到您正在使用的特定站点,以下绑定应该可以工作:

<bindings>
   <binding protocol="http" bindingInformation="*:5252:localhost" />
   <binding protocol="http" bindingInformation="*:5252:contoso.localhost" />
</bindings>

您真的可以将端口更改为您想要的任何内容,这样您就可以使用 80 来节省自己的一些输入。根据需要继续添加绑定以填充多租户。

如果您正在寻找更多信息,我建议您查看Scott Hanselman关于IIS Express和SSL的博客文章。

更新

使用VS 2015和.NET核心,applicationHost.config已经转移到基于目录的存储配置系统,而不是全局配置文件。新位置相对于您的项目:

.vsconfigapplicationHost.config

相同的编辑主体适用于此文件,但在使用 TFS 源代码管理时,VS 在分支之间更改时不会像编辑全局文件那样编辑文件。

关于域的通配符注释,在 IIS 10 之前不支持通配符主机名。因此,它可能在 IIS Express 10 中受支持,但可能以前不支持。

bindingInformation的细分是:

bindingInformation="<IPAddress>:<Port>:<Hostname>"

尝试检查项目设置中的项目 URL。

在"解决方案资源管理器"-">属性"-"Web 中右键单击你的项目>

在"服务器"下查找"项目 URL"。更新此值以镜像您的子域 URL,您应该很高兴。

最新更新