-------------------------------------------
更正, 我發現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