您好,登錄后才能下訂單哦!
C# Web應用調試開啟外部訪問有哪些步驟?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
在用C#開發Web應用時有個痛點,就是本機用VS開啟Web應用調試時外部機器無法訪問此Web應用。這里將會介紹如何通過設置允許局域網和外網機器訪問本機的Web應用。
目錄
1. 設置內網訪問
2. 設置外網訪問
1. 設置內網訪問
在設置之前,本機環境如下:
操作系統:win7
IDE:Visual Studio 2010
應用:asp.net
想要實現局域網內其他機器訪問本機web應用包含以下4步:
第一步:設置啟動方式為IIS Express
Visual Studio 運行Web應用時,默認采用自身的Visual Studio開發服務器。所以先要把項目改為用 IIS Web服務器。
首先確保機器已經裝了IIS Express,下載地址(10.0版本):www.microsoft.com/zh-CN/download/details.aspx?id=48264
步驟:右鍵Web項目 → 屬性 → Web選項卡 → 勾選使用本地IIS Web 服務器 → 設置端口并點擊【創建虛擬目錄】按鈕
第二步:設置IIS Express的applicationhost.config文件
點擊上面操作的【創建虛擬目錄】按鈕后,會在IIS Express的applicationhost.config文件創建虛擬目錄信息。
文件默認路徑:%userprofile%\My Documents\IISExpress\config\applicationhost.config
找到上面應用程序的配置信息,添加一條:
<binding protocol="http" bindingInformation="*:8081:*" />
示例圖:
注意:修改前若已啟動了IIS Express,修改后需要重新啟動IIS Express才生效。
第三步:設置windows 防火墻
完成上面2步后,還需要設置防火墻允許此端口通過。
1) 圖形操作:
打開 Windows 防火墻的高級設置:
① 控制面板 → Windows 防火墻 → 高級設置
② 創建一條入站規則:協議TCP、端口為8081。
示例圖:
2) 命令行
也可以執行以下命令添加一條入站規則:
netsh advfirew all firewall Add rule name=\"命令行Web訪問8081\" dir =in protocol=tcp localport=8081 action =allow
結果:
第四步:配置URL保留項
在Windows 7,可使用 Netsh.exe 工具配置HTTP設置,允許指定URL通過。
以管理員身份運行cmd命令:
netsh http add urlacl url=http://*:8081/ user=everyone
該命令為所有帳戶的指定 URL 命名空間添加一個 URL 保留項
更多netsh資料,可訪問相關MSDN:配置 HTTP 和 HTTPS
運行圖
2. 設置外網訪問
設置好內網可訪問后,想要外網的小伙伴訪問本機,可通過以下2種方法:
1) 端口映射
2) 內網穿透
2.1 端口映射
前提條件:擁有路由器設置權限。
在對外的路由器中設置一條端口映射規則,訪問外部IP地址時跳轉到局域網機器上。具體操作這里不闡述。
2.2 內網穿透
在公司內開發web應用時,不是所有人都可以申請端口映射的權限,所以這時候就要有個內網穿透的解決方案了。
網絡上提供內網穿透的應用有很多,這里使用的是花生殼(官網:hsk.oray.com/)。
示例:
注意:微信OAuth3.0進行域名跳轉時會加上端口號,此時域名端口為80,本機端口為8081,跳轉后的地址為域名:8081會顯示錯誤。解決方法只需要設置本機web應用的端口也為80即可。
運行圖
看完上述內容,你們掌握C# Web應用調試開啟外部訪問有哪些步驟的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。