Visual Studio 調試系列12 遠程調試部署在遠程計算機IIS上的ASP.NET應用程序

要調試已部署到IIS的ASP.NET應用程序,請在部署應用程序的計算機上安裝並運行遠程工具,而後從Visual Studio附加到正在運行的應用程序。html

 

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

01 系統必備

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

這些服務器配置上進行了測試這些過程:瀏覽器

  • 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 ,而後選擇建立。asp.net

  2. 打開 HomeController.cs 文件,並在 About() 方法中設置斷點。工具

安裝和 Windows Server 上配置 IIS

如下步驟演示了基本配置的 IIS。 有關詳細信息或安裝到 Windows 桌面計算機,請參閱發佈到 IISIIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5

對於 Windows Server 操做系統,使用添加角色和功能經過嚮導管理連接或儀表板中的連接服務器管理器. 在「服務器角色」步驟中,選中「Web 服務器(IIS)」框 。

在選擇服務器角色步驟中選擇了「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)

    RemoteDBG_IIS_AspNet_45

    若是使用 Windows Server 2008 R2,安裝 ASP.NET 4 改成使用此命令:

    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

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

07 選擇部署選項

若是您須要幫助將應用部署到 IIS,請考慮這些選項:

  • 經過在 IIS 中建立的發佈設置文件和導入 Visual Studio 中的設置部署。 在某些狀況下,這是一種將應用部署的快速方法。 建立發佈設置文件時,權限自動將會在 IIS 中設置。

  • 部署發佈到本地文件夾並將輸出的首選方法複製到 IIS 上的已準備好應用程序文件夾。

08 (可選)使用發佈設置文件進行部署
09 (可選)部署發佈到本地文件夾
10 下載並安裝 Windows Server 上的遠程工具
11 設置 Windows Server 上的遠程調試器
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 APPPOOL\DefaultAppPool。 若是你看到應用程序池標識正確的進程的簡單辦法是建立一個新應用池命名爲你想要調試的應用程序實例,而後您能夠找到它輕鬆地在用戶名列。

    RemoteDBG_AttachToProcess

  7. 單擊「附加」

  8. 打開遠程計算機的網站。 在瀏覽器中,轉到 http://<remote computer name> 。

    將顯示 ASP.NET 網頁。

  9. 在運行的 ASP.NET 應用程序,單擊連接到有關頁。

    應在 Visual Studio 中命中斷點。

13 故障排除:Windows Server 上打開所需的端口
 在大多數設置中,經過安裝ASP.NET和遠程調試器來打開所需的端口。可是,您可能須要驗證端口是否已打開。

在Azure VM上,您必須經過網絡安全組打開端口。

所需端口:

  • 80 - IIS必需
  • UDP 3702 - (可選)在Visual Studio中附加到遠程調試器時,發現端口使您可使用「 查找」按鈕。
  1. 若要打開 Windows 服務器上的端口,請打開啓動菜單中,搜索高級安全 Windows 防火牆。

  2. 而後選擇入站規則 > 新規則 > 端口。 選擇下一步並在特定本地端口,輸入端口號,單擊下一步,而後容許鏈接,單擊下一步,和添加名稱 (IIS, Web Deploy,或msvsmon) 的入站規則。

    若是您想配置 Windows 防火牆的詳細信息,請參閱配置 Windows 防火牆以進行遠程調試

  3. 建立其餘規則中的其餘所需的端口。

 

 
相關文章
相關標籤/搜索