首頁  >  文章  >  後端開發  >  C# Web應用程式偵錯開啟外部存取的步驟

C# Web應用程式偵錯開啟外部存取的步驟

Y2J
Y2J原創
2017-04-17 16:45:121640瀏覽

在用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 伺服器→ 設定連接埠並點選【建立虛擬目錄】按鈕

C# Web應用程式偵錯開啟外部存取的步驟

##第二步:設定IIS Express的applicationhost.config檔

點選上面操作的【建立虛擬目錄】按鈕後,會在IIS Express的applicationhost.config檔建立虛擬目錄資訊。

檔案預設路徑:%userprofile%\My Documents\IISExpress\config\applicationhost.config

找到上面應用程式的設定訊息,新增一條:

範例圖:

C# Web應用程式偵錯開啟外部存取的步驟

注意:修改前若已啟動了IIS Express,修改後需要重新啟動IIS Express才生效。

第三個步驟:設定windows 防火牆

完成上面2步驟後,還需要設定防火牆允許此連接埠通過。

1) 圖形操作:

開啟Windows 防火牆的進階設定:

① 控制台→ Windows 防火牆→ 進階設定

② 建立一個入站規則:協定TCP、連接埠為8081。

範例圖:

C# Web應用程式偵錯開啟外部存取的步驟

2) 命令列

也可以執行下列指令新增一條入站規則:

netsh advfirew all firewall Add rule name=\"命令行Web访问8081\" dir =in protocol=tcp localport=8081 action =allow

結果:

C# Web應用程式偵錯開啟外部存取的步驟

第四步:設定URL保留項

#在Windows 7,可使用Netsh.exe 工具設定HTTP設置,允許指定URL通過。

以管理員身分執行cmd指令:

netsh http add urlacl url=http://*:8081/ user=everyone

該指令為所有帳戶的指定URL

命名空間新增一個URL 保留項

更多netsh資料,可存取相關MSDN:設定HTTP 和HTTPS

運行圖

C# Web應用程式偵錯開啟外部存取的步驟

2. 設定外網存取

設定好內網路可存取後,想要外網的小夥伴存取本機,可透過以下2種方法:

1) 連接埠對映

2) 內網穿透

2.1 連接埠對映

前提條件:擁有

路由器設定權限。

在對外的路由器中設定一條連接埠對映規則,存取外部IP位址時跳到區域網路機器上。具體操作這裡不闡述。

2.2 內網穿透

在公司內開發web應用程式時,不是所有人都可以申請連接埠對映的權限,所以這時候就要有個內網穿透的解決方案了。

網路上提供內網穿透的應用很多,這裡使用的是花生殼(官網:hsk.oray.com/)。

範例:

C# Web應用程式偵錯開啟外部存取的步驟

注意:微信OAuth2.0進行網域跳轉時會加上連接埠號,此時網域連接埠為80,本機端口為8081,跳轉後的地址為網域名稱:8081會顯示錯誤。解決方法只需要設定本機web應用的連接埠也為80即可。

運行圖

C# Web應用程式偵錯開啟外部存取的步驟

以上是C# Web應用程式偵錯開啟外部存取的步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn