本地开发服务器上的子域(Visual Studio 2013)

时间:2013-11-12 17:50:39

标签: visual-studio visual-studio-2012 asp.net-mvc-routing subdomain

首先,我之前在使用VS 2012和Windows 8的另一台机器上管理过这个。我能用这台机器看到的唯一区别是我使用的是VS 2013.

所以,我已经设置了我的主机文件:

127.0.0.1   localhost
127.0.0.1   localhost:3892

127.0.0.1   r3plica.localhost
127.0.0.1   r3plica.localhost:3892

在我的工作机器上, localhost:3892 不存在,没有它就能正常工作。 在visual studio中,一切都设置为默认值。当我f5浏览器转到 localhost:3892 时,一切都按预期工作。

在我的另一台机器上,如果我将URL更改为 r3plica.localhost:3892 ,则会加载预期的网站,我仍然可以对其进行调试(调试是我需要做的)。

在我的新计算机上,如果我更改为新网址,则会收到错误请求错误。

我搜索过互联网并找不到解决方案,所以如果有人遇到同样的问题,请帮我解决! :d

干杯,
/ r3plica

1 个答案:

答案 0 :(得分:4)

我设法解决了这个问题:

  • 正在运行Visual Studio in admin mode
  • 强制IIS Express也以管理员模式运行(在iisexpress.exe中找到C:\Program Files (x86)\IIS Express\,右键单击并选择Properties然后选择Compatibility标签,然后选中'运行此程序为管理员'复选框)。
  • 为正在调试的站点修改IISExpress的applicationhost.config文件。该文件可在Documents>中找到。 IISExpress>配置。找到相关的站点节点并将bindingInformation属性更改为以下(但将端口号放入):

    <site name="MyWebsite.UI" id="52">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Dev\Code\Latest\MyWebsite.UI" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:55079:*" />
        </bindings>
    </site>
    

请注意,bindingInformation属性值为:

*:{PortNumber}:*

而不是:

*:{PortNumber}:localhost