我有一个测试ASP.NET MVC3应用程序开发于VS2012.当我开始调试应用程序时,会通过请求http://localhost:<portnumber>从主机访问该应用程序.但是,如果我试图通过http://<ip>:<portnumber>从内部网中的远程计算机访问同一应用程序,我得到HTTP error 400: Bad request. Invalid Host Name.,因为它在IIS Express上运行,任何服务器配置都是不可访问的.

有没有办法解决这个问题?

推荐答案

Update

我制作了一个更好地描述这个过程的视频,https://youtu.be/5ZqDuvTqQVs

如果您使用的是Visual Studio 2013或更高版本,请确保以管理员身份运行它,以使其正常工作.


Open the %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config (in VS2015 it may be $(solutionDir)\.vs\config\applicationhost.config) file. Inside you should see something like this:

<site name="WebSite1" id="1" serverAutoStart="true">
    <application path="/">
        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:8080:localhost" />
    </bindings>
</site>

bindingInformation=":8080:localhost"更改为bindingInformation="*:8080:*"(在我的情况下,端口号8080将有所不同.)

Note:如果不起作用,请try 使用bindingInformation="*:8080:,可以删除Asterix.

然后确保防火墙允许该端口上的传入连接.您可能需要重新启动系统,或者至少需要Visual Studio才能让IISExpress重新加载配置文件.

如果这不起作用,看看这个答案:https://stackoverflow.com/a/5186680/985284

Asp.net相关问答推荐

在 Web.Config 中模拟标签

DBSet 不包含 Where 的定义

ASP.NET 核心中的 Request.CreateResponse

IE10 SCRIPT5009:__doPostBack未定义

使用 jQuery 验证插件匹配两个字段

返回值使用 String result=Command.ExecuteScalar() 结果返回 null 时发生错误

您对 Windows Workflow Foundation 有何体验?

没有回发的按钮?

发布发布事件

温莎城堡有什么缺点吗?

ASP.NET 上的 WebSockets 教程

如何在 ASP.Net 的客户端 (JavaScript) 上判断 Page.Validate()?

如何在不预编译的情况下使用命令行msbuild部署VS2012网站项目?

<%# Eval("State") %> 或 <%# DataBinder.Eval(Container.DataItem, "state")%>

ASP.NET web.config:system.web.compilation 中的 debug 属性的默认值是什么?

缩小 ASP.Net MVC 应用程序的 HTML 输出

如何防止aspxerrorpath作为查询字符串传递给 ASP.NET 自定义错误页面

如何通过 Google 图表 API 使用 X 轴中的日期?

Azure 网站 301 重定向 - 我应该把它放在哪里?

System.Drawing.Image.FromFile() 上的内存不足异常