32

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

我正在尝试通过让 localhost 和 contoso.localhost 都指向我的 Web 应用程序实例来设置我的应用程序以测试多租户。

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

127.0.0.1       contoso.localhost

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

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

4

2 回答 2

46

这可以通过编辑 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 关于 IIS Express 和 SSL 的博客文章。

更新

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

.vs\config\applicationHost.config

相同的编辑原则适用于该文件,但是当使用 TFS 源代码控制时,VS在分支之间更改时不会像使用全局文件那样编辑文件。

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

的细分bindingInformation是:

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

于 2013-11-07T05:21:40.133 回答
1

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

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

在服务器下查找项目 URL。更新此值以反映您的子域网址,您应该一切顺利。

于 2013-11-05T03:54:43.093 回答