1. 程式人生 > >vs中開發web專案IIS Express支援區域網連線

vs中開發web專案IIS Express支援區域網連線

vs中開發web站點IIS Express支援區域網連線

在開發webapi的時候,客戶端裝置都會使用區域網的地址訪問webapi,有時候需要除錯api。這個時候就需要使用一些技巧了,這裡我記錄了我常用的兩種方式,在區域網內除錯vs中的web站點
1.修改IIS Express的applicationhost.config檔案
2.附加到程序除錯
兩者都需要以管理員身份啟動IIS

修改IIS Express的applicationhost.config檔案

1.要想在區域網內除錯vs中的web站點,這種方式是最簡單的。先新建一個web站點,執行之後,在工作列找到IIS
Express 的圖示,點選懸著“顯示所有應用程式”,可以看到這個配置的路徑,點選開啟。
vs中開發web專案IIS Express支援區域網訪問(區域網內除錯vs中的web站點)


2.找到sites節點,新增你的區域網的ip地址
在這裡插入圖片描述
site節點下的bingings(複數形式),可以繫結多個資訊。紅框中是我新增的,可以看到bindingInfomation=“*:53312:192.168.1.116”,這個192.168.1.116是我本機的地址,也可以修改為 * :53312: *

3.注意的是必須是除錯模式、管理員身份執行。否則會出現下面的錯誤
vs中開發web專案IIS Express支援區域網訪問(區域網內除錯vs中的web站點)
vs中開發web專案IIS Express支援區域網訪問(區域網內除錯vs中的web站點)
4.在cmd中使用IIS Express開啟所建的網站
我們將““C:\Program Files (x86)\IIS Express”(64位)或“C:\Program Files\IIS Express”(32位)”加入到系統變數,這個比較簡單,忘的話百度一下就ok。將路徑新增到系統變數的Path中來。
開啟cmd,輸入appcmd就可以看到如下提示
vs中開發web專案IIS Express支援區域網連線


檢視config檔案的資訊命令如下:

appcmd /apphostconfig:E:\XamarinForms\DebugSample\.vs\config\applicationhost.config list site

vs中開發web專案IIS Express支援區域網連線
我們可以在命令提示符中,使用iisexpress開啟建立的網站,在控制檯中輸入一下
這個站點id是2.

iisexpress /config:E:\XamarinForms\DebugSample\.vs\config\applicationhost.config /siteid:2

這個是時候開啟瀏覽器,你會發現http://localhost:53312/ 是可以訪問的,但是

http://192.168.1.116:53312/ 出現bad request 400錯誤無法訪問。
以管理員的方式開啟cmd,為非管理員帳戶保留指定的URL
netsh http add urlacl url=http://*:53312/ user=everyone
vs中開發web專案IIS Express支援區域網連線
記住要關閉防火牆,開啟53312埠
執行結果如圖:
vs中開發web專案IIS Express支援區域網連線

附加到程序除錯

這種方式不太正經,不需要修改applicationhost.config檔案。
附加到程序除錯的好處是。在進行斷點除錯,需要經過專案編譯成功後,啟動IIS Express 開啟瀏覽器,最後進入我們的斷點,附加到程序除錯後節約時間。還可以除錯區域網內的web站點。
1.部署IIS站點
剛剛新建的站點DebugSample,開啟IIS新增這個站點目錄。部署站點就不浪費時間了,百度起碼有10萬篇。

vs中開發web專案IIS Express支援區域網訪問(區域網內除錯vs中的web站點)

2.先在iis開啟這個站點,然後管理員身份開啟站點debugSample。選擇除錯>附加到程序
vs中開發web專案IIS Express支援區域網訪問(區域網內除錯vs中的web站點)

在這裡插入圖片描述

這樣我們就可以在vs中除錯客戶端的請求了,
vs中開發web專案IIS Express支援區域網訪問(區域網內除錯vs中的web站點)

總結

1.修改IIS Express的applicationhost.config檔案2.附加到程序除錯,這兩種方式都需要以管理員身份啟動vs。附加到程序除錯的優勢在於不需要等待vs編譯專案成功後啟動IIS express,還可以進行客戶端請求的除錯,但是這種方式很多地方需要注意,只有你在實際操作過程去體會了