ASP.NET局域网调试技巧

2014-11-04 02:10 ·Ab叔 6567 7 <- 点击左侧的数字“攒”一个吧

开发asp.net并且调试的时候使用的是内部的iis服务。
默认情况下是不允许局域网调试的。

又不想部署到iis,想直接在vs里调试后全局域网任何设备都能通过局域网地址访问怎么办?

下面简单几个步骤实现局域网调试。

详细步骤: (已项目端口8081为例)

  1. 首先以管理员身份运行命令提示符:

    netsh http add urlacl url=http://localhost:5555/ user="NT AUTHORITYINTERACTIVE"
    netsh http add urlacl url=http://*:5555/ user="NT AUTHORITYINTERACTIVE"

     允许 本地服务 注册 所有地址 的8081端口

  2. 找到vs调试时用到的内部iis的配置文件 %USERPROFILE%DocumentsIIS、Expressconfigapplicationhost.config,

    找到你项目对应的site,增加所有地址对8081的访问,一般增加的是下面红色部分代码:

    <sitename="..."id="...">
    <bindings>
    <binding protocol="http" bindingInformation="*:8081:localhost"/>
    <binding protocol="http" bindingInformation="*:8081:*"/>
    </bindings>
    </site>
  3. 在防火墙中打开对8081端口的访问:

    netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=8081 profile=private remoteip=localsubnet action=allow

接下来停掉调试时启动的iis,然后重新启动调试就可以使用局域网访问了。