在Android手机上调试ASP.NET MVC应用程序

在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 这个问题已经被另外两个问题(、和)解决了,但答案非常简短,对我毫无帮助。以前,我不得不通过敲打我的电脑,无意识地改变每一个设置来解决这个问题。我不想再经历那件事了。我想知道这次我在做什么 设置信息 该项目

目标

我正在寻找最简单的、一步一步的安装过程,以便使用我的IP地址作为URL调试我的ASP.NET MVC 4应用程序。我希望能够使用我的计算机的本地IP地址(例如-
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提供的链接中的所有步骤。(不仅仅是他在回答中描述的那个。)

  • 在绑定“localhost”后,将
    添加到applicationhost.config
  • 运行
    netshhttpaddurlaclurl=http://192.168.1.42:58938/ 用户=所有人
  • 运行netsh advfirewall firewall add rule name=“IISExpressWeb”dir=in protocol=tcp localport=58938 profile=private remoteip=localsubnet action=allow

  • 授予自己绑定本地主机和通配符网络适配器的权限,将IIS Express配置为绑定到它们,并打开防火墙上的端口。通过使用通配符,您不必在IP地址更改时重新配置

    步骤详细信息:(它们假定端口号为5555-使用实际端口)

  • 以管理员身份在命令提示符下运行以下命令:

    netsh http添加urlacl url=http://localhost:5555/ user=“NT权限\交互”
    netsh http add urlacl url=http://*:5555/user=“NT AUTHORITY\INTERACTIVE”
    
  • 在.vs\config\applicationhost.config(或对于VS2015之前的版本,%USERPROFILE%\Documents\IISExpress\config\applicationhost.config),向站点添加通配符绑定。结果应该如下所示:

    
    
  • 打开IIS Express站点的防火墙端口。可以从管理命令提示符执行此操作:

    netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=5555 profile=private remoteip=localsubnet action=allow
    
  • 如果你上了你的机器 通过以下方式尝试此工具:Ionut Cristian Florescu

    要安装它,只需在命令行
    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'”。有什么解决办法吗?