在Android手机上调试ASP.NET MVC应用程序
目标 我正在寻找最简单的、一步一步的安装过程,以便使用我的IP地址作为URL调试我的ASP.NET MVC 4应用程序。我希望能够使用我的计算机的本地IP地址(例如-在Android手机上调试ASP.NET MVC应用程序,android,asp.net-mvc,iis,Android,Asp.net Mvc,Iis,目标 我正在寻找最简单的、一步一步的安装过程,以便使用我的IP地址作为URL调试我的ASP.NET MVC 4应用程序。我希望能够使用我的计算机的本地IP地址(例如-http://192.168.1.109:25968)。我正在Windows 7上运行Visual Studio 2012 RC 这个问题已经被另外两个问题(、和)解决了,但答案非常简短,对我毫无帮助。以前,我不得不通过敲打我的电脑,无意识地改变每一个设置来解决这个问题。我不想再经历那件事了。我想知道这次我在做什么 设置信息 该项目
http://192.168.1.109:25968
)。我正在Windows 7上运行Visual Studio 2012 RC
这个问题已经被另外两个问题(、和)解决了,但答案非常简短,对我毫无帮助。以前,我不得不通过敲打我的电脑,无意识地改变每一个设置来解决这个问题。我不想再经历那件事了。我想知道这次我在做什么
设置信息
该项目只是一个默认的ASP.NET MVC 4 Internet应用程序。我很确定我还没有改变什么
我的应用程序属性中的Web选项卡设置为“使用本地IIS Web服务器”,并且我已选中“使用IIS Express”。项目url为http://localhost:25968/
。我看到“locahost”可能有问题,但VS不允许我输入IP地址或通配符
我的应用程序的IIS Express applicationhost.config文件如下所示
<site name="APPLICATION_NAME" id="13">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\USERNAME\Documents\Visual Studio 11\Projects\APPLICATION_NAME" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:25968:localhost" />
</bindings>
</site>
发生了什么事
当我使用http://localhost:25968
它工作得很好。如果我尝试使用http://192.168.1.109:25968
从主机上,我得到“错误请求-无效主机名,HTTP错误400。请求主机名无效”。使用来自网络上另一台计算机的同一URL,它会超时。试一试:
netsh http add urlacl url=http://192.168.1.109:25968/ user=everyone
发件人:
您可以将计算机的主机名替换为IP地址,这样您就不必在每次IP更改时都重新运行它。我需要执行cfeduke提供的链接中的所有步骤。(不仅仅是他在回答中描述的那个。)
添加到applicationhost.confignetshhttpaddurlaclurl=http://192.168.1.42:58938/ 用户=所有人
授予自己绑定本地主机和通配符网络适配器的权限,将IIS Express配置为绑定到它们,并打开防火墙上的端口。通过使用通配符,您不必在IP地址更改时重新配置 步骤详细信息:(它们假定端口号为5555-使用实际端口)
netsh http添加urlacl url=http://localhost:5555/ user=“NT权限\交互”
netsh http add urlacl url=http://*:5555/user=“NT AUTHORITY\INTERACTIVE”
netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=5555 profile=private remoteip=localsubnet action=allow
npm install-g iisexpress proxy上编写
然后检查项目中的端口并将其映射到外部端口。
iisexpress proxy[localPort]to[proxyPort]
现在输入的是我的计算机上的“服务不可用--HTTP错误503”。当我尝试从网络上的另一台计算机访问链接时,连接超时。请查看该计算机的事件日志中是否有详细说明,特别是HTTP.SYS。这可能是一个权限问题,甚至与不允许所有人访问IIS Express一样荒谬。。。。并检查以前的保留,或使用netsh http delete url删除保留=http://192.168.1.109:25968
(从)运行netsh http delete urlacl url=http://192.168.1.109:25968/
返回HTTP错误400。(注意添加了“urlacl”)。这看起来正是您问题的解决方案:我认为您的答案是最好的,但您能否详细说明#3,以便此答案对其他人最有用,以供参考?你能运行我在回答中提到的#3吗?@David:我还不需要深入了解防火墙的细节,所以我不知道答案。我主要使用模拟器。我在dev计算机上使用物理电话与IIS通话的时间很短,我只是暂时关闭防火墙就“打开了端口”。这很公平。信息就在这里。我后悔没有早点接受你的答复。这个问题得到了很多意见,我认为你的答案是最好的。再次感谢。@David:我喜欢一站式解决堆栈溢出问题,因此,由于您的netsh
命令运行良好,我将其纳入了我的答案中。执行此操作后,我得到“无法连接到web服务器'IIS Express'”。有什么解决办法吗?