Visual Studio 調試系列12 遠程調試部署在遠程電腦IIS上的ASP.NET應用程式

  • 2019 年 10 月 4 日
  • 筆記

要調試已部署到IIS的ASP.NET應用程式,請在部署應用程式的電腦上安裝並運行遠程工具,然後從Visual Studio附加到正在運行的應用程式。

下面介紹如何設置和配置Visual Studio ASP.NET MVC 4.5.2應用程式,將其部署到IIS,以及如何從Visual Studio附加遠程調試器。

01 系統必備

Visual Studio 2019 需按照本文中所示的步驟。

這些伺服器配置上進行了測試這些過程:

  • Windows Server 2012 R2 和 IIS 8 (對於 Windows Server 2008 R2 中,伺服器,步驟會有所不同)

02 網路要求

從 Windows Server 2008 Service Pack 2 的 Windows Server 支援遠程調試器。 有關要求的完整列表,請參閱要求。

不支援調試通過代理連接的兩台電腦之間。 調試通過高延遲或低頻寬連接,例如撥號 Internet,或通過 Internet 跨國家/地區不建議並可能會失敗或很令人無法接受慢。

03 應用程式已在IIS中運行?

本文包括在Windows伺服器上設置IIS的基本配置以及從Visual Studio部署應用程式的步驟。包括這些步驟以確保伺服器已安裝所需的組件,應用程式可以正確運行,以及您已準備好進行遠程調試。

  • 如果在 IIS 中運行您的應用程式,並且只是想要下載遠程調試器和啟動調試,請轉到下載並安裝 Windows Server 上的遠程工具。
  • 如果需要幫助,確保您的應用程式設置已完成,部署,並正確運行在 IIS 中,以便可以調試,請按照本主題中的所有步驟。

04 在Visual Studio電腦上創建ASP.NET 4.5.2應用程式

  1. 創建新的 MVC ASP.NET 應用程式。 在 Visual Studio 2019,鍵入Ctrl + Q若要打開搜索框中,鍵入asp.net,選擇模板,然後選擇創建新 ASP.NET Web 應用程式 (.NET框架) 。 在顯示對話框中,該項目命名MyASPApp,然後選擇創建。 選擇MVC ,然後選擇創建。
  2. 打開 HomeController.cs 文件,並在 About() 方法中設置斷點。

安裝和 Windows Server 上配置 IIS

以下步驟演示了基本配置的 IIS。 有關詳細資訊或安裝到 Windows 桌面電腦,請參閱發布到 IIS或IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。

對於 Windows Server 作業系統,使用添加角色和功能通過嚮導管理鏈接或儀錶板中的鏈接伺服器管理器. 在「伺服器角色」步驟中,選中「Web 伺服器(IIS)」框 。

在「角色服務」步驟中,選擇所需 IIS 角色服務,或接受提供的默認角色服務 。 如果你想要啟用部署使用的發布設置和 Web 部署,請確保IIS 管理腳本和工具處於選中狀態。

繼續完成安裝 web 伺服器角色和服務的確認步驟。 安裝 Web 伺服器 (IIS) 角色後無需重啟伺服器/IIS。

05 更新Windows Server上的瀏覽器安全設置

如果在 Internet Explorer (默認情況下已啟用) 中啟用了增強的安全配置,您可能需要將某些域添加為受信任的站點,以便可以下載某些 web 伺服器組件。 添加可信的站點,通過轉到Internet 選項 > 安全性 > 受信任的站點 > 站點。 添加以下域。

  • microsoft.com
  • go.microsoft.com
  • download.microsoft.com
  • iis.net

下載軟體時,可能會顯示請求授予許可權以載入各種 web 站點腳本和資源。 以下一些資源不是必需的但若要簡化此過程中,單擊添加出現提示時。

06 在Windows Server上安裝ASP.NET 4.5

如果你想要在 IIS 上安裝 ASP.NET 的更多詳細的資訊,請參閱IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。

  1. 在伺服器管理器的左窗格中,選擇IIS。 右鍵單擊伺服器並選擇「Internet Information Services (IIS)管理器」 。
  2. 使用 Web 平台安裝程式 (WebPI) 安裝 ASP.NET 4.5 (從 Windows Server 2012 R2 中的伺服器節點,選擇獲取新的 Web 平台組件,然後搜索 ASP.NET)

如果使用 Windows Server 2008 R2,安裝 ASP.NET 4 改為使用此命令: C:WindowsMicrosoft.NETFramework64v4.0.30319aspnet_regiis.exe -ir

  1. 重啟系統(或在命令提示符處依次執行「net stop was /y」和「net start w3svc」,了解系統路徑的更改) 。

07 選擇部署選項

如果您需要幫助將應用部署到 IIS,請考慮這些選項:

  • 通過在 IIS 中創建的發布設置文件和導入 Visual Studio 中的設置部署。 在某些情況下,這是一種將應用部署的快速方法。 創建發布設置文件時,許可權自動將會在 IIS 中設置。
  • 部署發布到本地文件夾並將輸出的首選方法複製到 IIS 上的已準備好應用程式文件夾。

08 (可選)使用發布設置文件進行部署

09 (可選)部署發布到本地文件夾

10 下載並安裝 Windows Server 上的遠程工具

參考《Visual Studio 調試系列11 遠程調試》

11 設置 Windows Server 上的遠程調試器

參考《Visual Studio 調試系列11 遠程調試》

12 從 Visual Studio 電腦附加到 ASP.NET 應用程式

  1. Visual Studio 電腦上,打開要調試的解決方案 (MyASPApp在您按照這篇文章中的步驟)。
  2. 在 Visual Studio 中,單擊調試 > 附加到進程(Ctrl + Alt + P)。 在 Visual Studio 2017 和更高版本中,您可以重新附加到您以前使用附加到的同一個進程調試 > 重新附加到進程... (Shift + Alt + P)。
  3. 將限定符欄位設置為 <遠程電腦名稱> 然後按Enter。 驗證 Visual Studio 將所需的埠添加到電腦名稱,將出現在格式: <遠程電腦名稱>:埠 在 Visual Studio 2019,你會看到 <遠程電腦名稱>:4024 埠是必需的。 如果看不到的埠號,請手動添加它。
  4. 單擊「刷新」 。 「可用進程」 窗口中將顯示某些進程。 如果看不到任何進程,請嘗試使用的 IP 地址而不遠程電腦名稱 (埠是必需的)。可以使用ipconfig獲取 IPv4 地址的命令行中。
  5. 勾選「顯示所有用戶的進程」 。
  6. 鍵入進程名稱,可以快速找到的第一個字母w3wp.exe為 ASP.NET 4.5。 如果有多個進程顯示w3wp.exe,檢查用戶名列。 在某些情況下,用戶名列顯示你的應用程式池名稱,如IIS APPPOOLDefaultAppPool。 如果你看到應用程式池標識正確的進程的簡單辦法是創建一個新應用池命名為你想要調試的應用程式實例,然後您可以找到它輕鬆地在用戶名列。
  1. 單擊「附加」
  2. 打開遠程電腦的網站。 在瀏覽器中,轉到 http://<remote computer name> 。 將顯示 ASP.NET 網頁。
  3. 在運行的 ASP.NET 應用程式,單擊鏈接到有關頁。 應在 Visual Studio 中命中斷點。

13 故障排除:Windows Server 上打開所需的埠

在大多數設置中,通過安裝ASP.NET和遠程調試器來打開所需的埠。但是,您可能需要驗證埠是否已打開。

在Azure VM上,您必須通過網路安全組打開埠。

所需埠:

  • 80 - IIS必需
  • 4024 - 從Visual Studio 2019進行遠程調試時需要(有關詳細資訊,請參閱遠程調試器埠分配)。
  • UDP 3702 - (可選)在Visual Studio中附加到遠程調試器時,發現埠使您可以使用「 查找」按鈕。
  1. 若要打開 Windows 伺服器上的埠,請打開啟動菜單中,搜索高級安全 Windows 防火牆。
  2. 然後選擇入站規則 > 新規則 > 埠。 選擇下一步並在特定本地埠,輸入埠號,單擊下一步,然後允許連接,單擊下一步,和添加名稱 (IIS, Web Deploy,或msvsmon) 的入站規則。 如果您想配置 Windows 防火牆的詳細資訊,請參閱配置 Windows 防火牆以進行遠程調試。
  3. 創建其他規則中的其他所需的埠。

參考:https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-aspnet-on-a-remote-iis-7-5-computer?view=vs-2019

Tags: