今天同事想要通過他的電腦在局域網中呼叫我本地的介面,理論上我在本地啟起來后給他對應的IP地址和埠號就可以了,所以我在自己電腦上試了一下吧localhost改成IP或127.0.0.1 試了一下......果然還是無法訪問!!!通過localhost訪問是有效的,但是通過本機IP甚至127.0.0.1訪問無效,報的錯誤是 400. The request hostname is invalid.
如下圖:


于是乎 度娘就告訴我,你這樣是不行滴,你得像我這樣搞....!!!
1.在狀態欄中,選擇IISPress站點,右鍵選擇顯示所有應用程式

2.單擊站點名稱,在下面提示的路徑中選擇配置路徑,打開applicationhost.config檔案

3.找到IISExpress的組態檔并打開applicationhost.config,找到如下代碼:
<site name="WebSite1" id="1" serverAutoStart="true"> <application path="/"> <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> </application> <bindings> <binding protocol="http" bindingInformation=":31173:localhost" /> </bindings> </site>
其中name是你Web專案的名稱,找到對應你專案的配置,然后在
<binding protocol="http" bindingInformation="*:31173:localhost" />
后面加上
<binding protocol="http" bindingInformation="*:31171:192.168.1.xx" />

(埠號和IP都都改成自己的)
4.按上面改為后,當你通過IP地址訪問時還是可能會出現400錯誤,如果出現,就采用下面的方法:
(1)以管理員身份打開CMD命令視窗 (2)輸入如下命令:netsh http add urlacl url=http://192.168.1.xx:31173/ user=everyone

與上面改的IP和埠號對應,如果報錯請確認是否是以管理員身份運行的CMD,
通過命令,可以查看到已經添加進去的URL了
netsh http show urlacl

完成之后重啟IISExpress,此時應該就可以使用IP地址訪問了,

5.完成上面兩部之后,由于防火墻的原因,其他的電腦可能還無法訪問你的服務器,如果出現這種情況,關閉防火墻(這里系統是win8.1)
(1)控制面板(查看方式選擇類別)->系統和安全->Windows防火墻,在左側選擇高級設定
(2)右擊入站規則->新建規則->埠->特定本地埠處輸入31171->允許連接->3個選項全選->輸入新規則名稱->完成
現在外部程式就可以訪問你的IISExpress了
6.最后呢,用完了也可以將其洗掉:
netsh http delete urlacl url=http://192.168.1.xx:31173/
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/17282.html
標籤:Windows
上一篇:C# 簡介
