如何在IISExpress上使用带有localhost的子域?

时间:2013-11-05 00:48:04

标签: asp.net iis localhost iis-express

我现在通过localhost:5252本地服务我的MVC应用程序。

我正在尝试通过让localhost和contoso.localhost指向我的网络应用实例来设置我的应用来测试多方租用。

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

127.0.0.1       contoso.localhost

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

我正在努力避免在本地使用IIS,因为一切都在使用IISExpress。有没有简单的方法来实现这个目标?

2 个答案:

答案 0 :(得分:36)

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

来完成
C:\Users\yourProfile\Documents\IISExpress\config\applicationHost.config

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

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

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

如果您正在寻找更多信息,我建议您查看Scott Hanselman's blog post on IIS Express & SSL.

更新

使用VS 2015&amp;在.NET核心中,applicationHost.config已移至基于目录的系统,用于存储配置而不是全局配置文件。新位置与您的项目相关:

.vs\config\applicationHost.config

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

关于域的通配符注释,wildcarding hostname isn't supported直到IIS 10.因此,它可能在IIS Express 10中受支持,但可能不在之前。

  

bindingInformation的细分是:

     

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

答案 1 :(得分:1)

尝试检查项目网址的项目设置。

在解决方案资源管理器中右键单击您的项目 - &gt;属性 - &gt;网络

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