C# Web應(yīng)用調(diào)試開啟外部訪問步驟解析
在用C#開發(fā)Web應(yīng)用時有個痛點,就是本機用VS開啟Web應(yīng)用調(diào)試時外部機器無法訪問此Web應(yīng)用。這里將會介紹如何通過設(shè)置允許局域網(wǎng)和外網(wǎng)機器訪問本機的Web應(yīng)用。
目錄
- 設(shè)置內(nèi)網(wǎng)訪問
 - 設(shè)置外網(wǎng)訪問
 
1. 設(shè)置內(nèi)網(wǎng)訪問
在設(shè)置之前,本機環(huán)境如下:
操作系統(tǒng):win7
IDE:Visual Studio 2010
應(yīng)用:ASP.net
想要實現(xiàn)局域網(wǎng)內(nèi)其他機器訪問本機web應(yīng)用包含以下4步:
第一步:設(shè)置啟動方式為IIS Express
Visual Studio 運行Web應(yīng)用時,默認采用自身的Visual Studio開發(fā)服務(wù)器。所以先要把項目改為用 IIS Web服務(wù)器。
首先確保機器已經(jīng)裝了IIS Express,下載地址(10.0版本):https://www.microsoft.com/zh-CN/download/details.aspx?id=48264
步驟:右鍵Web項目 → 屬性 → Web選項卡 → 勾選使用本地IIS Web 服務(wù)器 → 設(shè)置端口并點擊【創(chuàng)建虛擬目錄】按鈕
第二步:設(shè)置IIS Express的applicationhost.config文件
點擊上面操作的【創(chuàng)建虛擬目錄】按鈕后,會在IIS Express的applicationhost.config文件創(chuàng)建虛擬目錄信息。
文件默認路徑:%userprofile%\My Documents\IISExpress\config\applicationhost.config
找到上面應(yīng)用程序的配置信息,添加一條<binding>:
<binding protocol="http" bindingInformation="*:8081:*" />
示例圖:
注意:修改前若已啟動了IIS Express,修改后需要重新啟動IIS Express才生效。
第三步:設(shè)置windows 防火墻
完成上面2步后,還需要設(shè)置防火墻允許此端口通過。
1) 圖形操作:
打開 Windows 防火墻的高級設(shè)置:
① 控制面板 → Windows 防火墻 → 高級設(shè)置
② 創(chuàng)建一條入站規(guī)則:協(xié)議TCP、端口為8081。
示例圖:
2) 命令行
也可以執(zhí)行以下命令添加一條入站規(guī)則:
netsh advfirewall firewall Add rule name=\"命令行Web訪問8081\" dir=in protocol=tcp localport=8081 action=allow
結(jié)果:
第四步:配置URL保留項
在Windows 7,可使用 Netsh.exe 工具配置HTTP設(shè)置,允許指定URL通過。
以管理員身份運行cmd命令:
netsh http add urlacl url=http://*:8081/ user=everyone
該命令為所有帳戶的指定 URL 命名空間添加一個 URL 保留項
更多netsh資料,可訪問相關(guān)MSDN:配置 HTTP 和 HTTPS
運行圖
2. 設(shè)置外網(wǎng)訪問
設(shè)置好內(nèi)網(wǎng)可訪問后,想要外網(wǎng)的小伙伴訪問本機,可通過以下2種方法:
1) 端口映射
2) 內(nèi)網(wǎng)穿透
2.1 端口映射
前提條件:擁有路由器設(shè)置權(quán)限。
在對外的路由器中設(shè)置一條端口映射規(guī)則,訪問外部IP地址時跳轉(zhuǎn)到局域網(wǎng)機器上。具體操作這里不闡述。
2.2 內(nèi)網(wǎng)穿透
在公司內(nèi)開發(fā)web應(yīng)用時,不是所有人都可以申請端口映射的權(quán)限,所以這時候就要有個內(nèi)網(wǎng)穿透的解決方案了。
網(wǎng)絡(luò)上提供內(nèi)網(wǎng)穿透的應(yīng)用有很多,這里使用的是花生殼(官網(wǎng):http://hsk.oray.com/)。
示例:
注意:微信OAuth2.0進行域名跳轉(zhuǎn)時會加上端口號,此時域名端口為80,本機端口為8081,跳轉(zhuǎn)后的地址為域名:8081會顯示錯誤。解決方法只需要設(shè)置本機web應(yīng)用的端口也為80即可。
運行圖
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持我們!
上一篇:C#使用Windows Service的簡單教程(創(chuàng)建、安裝、卸載、調(diào)試)
欄 目:C#教程
下一篇:C# Resources資源詳解
本文標題:C# Web應(yīng)用調(diào)試開啟外部訪問步驟解析
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6045.html
您可能感興趣的文章
- 01-10C#使用windows服務(wù)開啟應(yīng)用程序的方法
 - 01-10C#實現(xiàn)將應(yīng)用程序設(shè)置為開機啟動的方法
 - 01-10同步調(diào)用和異步調(diào)用WebService
 - 01-10C#調(diào)用WebService實例開發(fā)
 - 01-10C#圖片處理3種高級應(yīng)用
 - 01-10C#中Json字符串的各種應(yīng)用類實例講解
 - 01-10C#基于WebBrowser獲取cookie的實現(xiàn)方法
 - 01-10C#實現(xiàn)托盤程序并禁止多個應(yīng)用實例運行的方法
 - 01-10C#異步下載文件
 - 01-10C# 調(diào)用 JavaWebservice服務(wù)遇到的問題匯總
 


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當前工程中所有窗體并
 - 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
 - 01-10WinForm限制窗體不能移到屏幕外的方法
 - 01-10WinForm繪制圓角的方法
 - 01-10C#實現(xiàn)txt定位指定行完整實例
 - 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新
 - 01-10C#停止線程的方法
 - 01-10C#實現(xiàn)清空回收站的方法
 - 01-10C#通過重寫Panel改變邊框顏色與寬度的
 - 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
 
隨機閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
 - 01-10C#中split用法實例總結(jié)
 - 08-05織夢dedecms什么時候用欄目交叉功能?
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 01-10delphi制作wav文件的方法
 - 04-02jquery與jsp,用jquery
 - 01-11ajax實現(xiàn)頁面的局部加載
 - 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
 - 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 


