使用命令行接口 (CLI) 为开发人员在本地运行数据 API 生成器 (DAB)。 DAB 设置并运行 HTTP 和 HTTPS 终结点,无需额外配置。 但是,在某些 .NET 8 方案中,DAB 可能无法正确运行 HTTPS 终结点。 本文提供配置 HTTPS 终结点的步骤。
先决条件
现象
当开发人员在本地环境中运行 DAB 时,某些用户会看到控制台输出,如下所示:
...
info: Azure.DataApiBuilder.Service.Startup[0]
Successfully completed runtime initialization.
info: Microsoft.Hosting.Lifetime[14]
Now listening on http://[::]:8080
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
...
注意
生成的 http://[::]:8080 是终结点,但它不是有效的 URL。
原因
对于运行 .NET 8 或更高版本的开发人员,HTTPS 终结点要求 ASPNETCORE_URLS 正确配置环境变量。
解决方法
若要正确配置本地环境,请使用以下方法之一设置 ASPNETCORE_URLS 环境变量。
解决方案 1:使用 .env 文件设置环境变量
文件 .env 是一个简单的文本文件,用于将环境变量存储在键值对中。 若要设置ASPNETCORE_URLS环境变量,请在文件旁边.env引入一个dab-config.json文件,其内容类似于以下示例:
SQL_CONNECTION_STRING={your-connection-string}
ASPNETCORE_URLS=http://localhost:5000;https://localhost:5001
解决方案 2:在操作系统中设置环境变量(可选)
将 ASPNETCORE_URLS 环境变量设置为 http://localhost:5000;https://localhost:5001 在 Windows 中。
[Environment]::SetEnvironmentVariable("ASPNETCORE_URLS", "http://localhost:5000;https://localhost:5001", "User")
详细信息
如果问题未解决,请在 data-api-builder 讨论中提供反馈或报告。