将调试器绑定到所有IP地址而不是仅限于localhost

时间:2010-12-23 03:50:28

标签: asp.net visual-studio

如何使visual studio asp.net调试器绑定到我的网络的所有ipaddresses而不是localhost?所以我可以在另一种情况下调试。

3 个答案:

答案 0 :(得分:4)

对于 IIS Express ,授予自己绑定到localhost和通配符网络适配器的权限,并将IIS Express配置为绑定到它们。

步骤详情:(他们假设端口号为5555 - 请改用您的实际端口)

  1. 以管理员身份从命令提示符运行这些命令:

    netsh http add urlacl url=http://localhost:5555/ user="NT AUTHORITY\INTERACTIVE"
    netsh http add urlacl url=http://*:5555/ user="NT AUTHORITY\INTERACTIVE"
    
  2. %USERPROFILE%\ Documents \ IISExpress \ config \ applicationhost.config 中,为您的站点添加通配符绑定。结果应如下所示:

    <site name="..." id="...">
        <!-- application settings omitted for brevity -->
        <bindings>
            <binding protocol="http" bindingInformation="*:5555:localhost" />
            <binding protocol="http" bindingInformation="*:5555:*" />
        </bindings>
    </site>
    

答案 1 :(得分:4)

如果您从Visual Studio开始调试项目,那么将使用的applicationhost.config将驻留在另一个目录中。 不幸的是,对此文件的更改会干扰Visual Studio。目前我只是在我改变文件之后>在VS中打开项目并在VS中再次打开项目之前将其还原到它的旧阶段时才能使用。

您可以在项目根目录的 .vs \ config \ applicationhost.config 中找到它。

你会找到一个 - 块,你可以用*

替换localhost
<bindings>
    <binding protocol="http" bindingInformation="*:50216:*" />
</bindings>

您还需要添加net acl

netsh http add urlacl url=http://localhost:50216/ user="NT AUTHORITY\INTERACTIVE"
netsh http add urlacl url=http://*:50216/ user="NT AUTHORITY\INTERACTIVE"

答案 2 :(得分:1)

您本身不绑定到IP地址。您实际上绑定到IIS服务器实例。如果您在本地计算机上设置要调试的IP地址的网站,则可以附加到该w3p.exe进程(IIS进程)。