日期:2024-04-11  浏览次数:285 次

我发现Program一项只设置为iisexpress.exe是不可行的. 只能设置为Any才行(当然这是overkill, 也是无奈之举, 因为我不知道应该具体指定哪几个程序才能最小化此端口的开放程度). (其实想一想也合理, 因为客户PC和Web server交互不可能只涉及web server程序本身, 中间肯定还有其他程序也要通过此端口与客户PC通信)

---------------------------------------

补充, 如果你发现经过如下配置之后局域网内其他的PC还是无法访问, 检查防火墙设置, 并把Web服务器的端口(例如2341或下面例子中的23019)设置为通过, 如图, 我在 Inbound Rules 当中添加了一项 "IISExpress Service port", 其规则是允许外部对iisexpress.exe通过端口2341(TCP)的访问.

 

-------------------------------------------------------------------------------

 

转自: http://blog.csdn.net/qiujuer/article/details/40350385

 

使用Visual Studio开发Web网页的时候有这样的情况:想要在调试模式下让局域网的其他设备进行访问,以便进行测试。虽然可以部署到服务器中,但是却无法进行调试,就算是注入进程进行调试也是无法达到自己的需求;所以只能在Visual Studio-IIS Express 中进行调试。

而于此将会出现一个问题,你会发现你的浏览器中的地址永远都是:http://localhost:32417/ 这样的;输入:127.0.0.1:32417 不行!输入:计算机名(或IP):端口同样无法访问。 这就奇葩了!

 

关键步骤:

 

1.

右击 IIS

2.

选择 "Show All Applications"

 

3.

点击编辑配置文件 (默认会调用 VS 编辑, 确保 VS 以管理员权限打开)

 

4.

找到 "sites" 节点. 根据子节点 "site" 的 "name" 属性找到你想要的Web站点.

5.

编辑 "bindings" 节点, 根据你的计算机在局域网中的地址, 添加一个 "binding" 节点

 

VS 调试的时候默认就使用 localhost , 当然, 你可以通过 项目属性修改启动的时候是哪个地址, 但如果你选择 "使用当前页" 启动调试, 默认的就是 localhost

因此, 如果你希望只使用 192.168.1.101, 你可以直接把 localhost 那项注释掉 但要注意, 如果注释掉了, IIS Express 就不会启动对 localhost 的监听.

 

当然, 这里你也可以这样配置:直接用一项就涵盖了本机所有可以使用的ip地址, 如下:

<binding protocol="http" bindingInformation="*:2341:*" />

这个配置的含义一目了然, 其实就是用通配符 * 表示所有可用的ip地址都要监听.

 

6.

调试, 如图6.2 (确保 VS 以管理员权限打开, 否则会报错, 如图6.1)

图6.1

图6.2