介绍 Visual Studio 中用于 ASP.NET 核心项目的端口隧道的私人预览版

在 Visual Studio 2022 17.3 预览版 1.1 中,我们添加了对端口隧道(转发)到 ASP.NET 核心 Web 项目的支持。端口隧道支持无法直接相互连接的计算机之间的连接。端口隧道也称为端口转发或 Web 隧道。在开发 ASP.NET Core 应用时,你可能希望使用端口隧道的一些情况包括:

  • 开发由 Power Platform 使用的 API。
  • 为外部服务开发 Web 挂钩。
  • 在外部设备上测试 Web 应用。

这些只是您可能希望对 Web 项目使用端口隧道的几个示例。此功能取决于必须注册的个人预览版。

要开始使用,请执行以下步骤。

  1. 注册 Visual Studio 中端口隧道的私人预览版。
  2. 下载 17.3 预览版 1.1 Visual Studio 更新。
  3. 在 Visual Studio 中启用预览功能。
  4. 配置项目。

1:注册 Visual Studio 中端口隧道的私人预览版

若要开始使用,请通过下面的链接注册个人预览版。您应该使用在 Visual Studio 中使用的同一帐户登录。如果不注册此预览版,端口隧道将不起作用。https://aka.ms/tunnels-signup

注册后,下载Visual Studio预览版并在Visual Studio中启用该功能。

2: 下载 17.3 预览版 1.1 Visual Studio 更新

我们在 Visual Studio 2022 17.3 Preview 1.1 中添加了对此预览功能的支持。您可以在下面的链接下载。https://visualstudio.microsoft.com/vs/preview/

3:在 Visual Studio 中启用预览

在 Visual Studio 中,转到“工具>选项”>“预览功能”,然后选中“为 Web 应用程序启用端口隧道”选项。

4:配置项目

在 Visual Studio 中开发 ASP.NET 核心项目时,用于启动应用程序的设置存储在 Properties/launchSettings.json 的文件中。此文件包含 Web 应用的一个或多个启动配置文件。为了在运行应用时启用要创建或连接的隧道,请在启动配置文件中添加属性“createTunnel”:true。例如,下面是一个完整的 launchSettings.json 文件,用于 ASP.NET 核心 Web 项目。

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:28981",
      "sslPort": 44342
    }
  },
  "profiles": {
    "MyWebApp": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:7130;http://localhost:5130",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "createTunnel": true
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

启动 Web 应用时,可以看到浏览器未导航到本地主机 URL,而是使用公共隧道 URL。可以在本地环境之外访问此 URL。您可以与朋友或同事共享公共 URL 以测试应用程序。如果要在外部设备(如手机或平板电脑)上测试 Web 应用,可以导航到设备上的 URL。为了简化此操作,您可以在 Edge 浏览器中生成指向 URL 的 QR 码。要在Edge中创建QR码,请单击URL栏,应该会出现QR码按钮。单击该按钮可生成并查看QR码。

您可以使用手机或平板电脑扫描此QR码以导航到该URL。

如果遇到问题该怎么办?

这是早期预览版,因此在使用此功能时可能会遇到一些问题。报告问题的最佳方法是使用 Visual Studio 中内置的“报告问题”支持。您也可以在这里发表评论,或在Twitter上联系赛义德@SayedIHashimi。

已知问题

  • 目前不支持 GitHub.com 帐户。
    • 我们将在将来的更新中添加对 GitHub.com 帐户的支持。
  • Visual Studio 中的多个帐户
    • 如果你在 Visual Studio 中使用多个 Azure 帐户登录,则将使用检测到的第一个 Azure 帐户创建隧道。
    • 稍后,我们将添加选择特定帐户以创建隧道的功能。
    • 如果看到包含以下消息的对话框,则登录到 Visual Studio 的帐户无权创建隧道。确保你已在 Visual Studio 中使用 Azure 帐户登录。
  • 隧道认证
    • 目前,所有隧道都是在启用匿名身份验证的情况下创建的。
    • 我们计划在将来的更新中默认确保所有新隧道的安全,并能够配置身份验证设置。
  • 302 错误
    • 访问隧道 URL 时,请求可能会被重定向,如果客户端未遵循重定向,则可能会遇到 302 错误。
    • 当您收到 302 错误时,您可以修改全局 URL 以指向隧道所在的特定数据中心。例如,如果您的全局 URL 是 https://vstunnel123456.rel.tunnels.api.visualstudio.com,请改用 https://vstunnel123456.use.rel.tunnels.api.visualstudio.com。
    • 我们在配置 GitHub Web 挂钩时看到了 302 错误。我们将与 GitHub 合作解决此问题。

包起来

在这篇文章中,我们介绍了 Visual Studio 中 ASP.NET 核心应用的新 Web 隧道功能,以及您应该采取哪些步骤来试用它。这只是一个早期预览;我们将继续改进此体验,以便可以在非预览版本中发布此体验。请尝试一下,让我们知道它是如何为您服务的。

给TA打赏
共{{data.count}}人
人已打赏
Microsoft Build开发工具

Visual Studio at Microsoft Build 2022

2022-5-27 17:59:05

开发工具

Visual Studio 2022 for Mac 现已推出

2022-5-31 17:33:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索