HTTPS-functionaliteit herstellen met .NET 8 in Data API Builder voor Azure-databases

Data API Builder (DAB) wordt lokaal uitgevoerd voor ontwikkelaars met behulp van de opdrachtregelinterface (CLI). DAB stelt HTTP- en HTTPS-eindpunten in en voert deze uit zonder extra configuratie. In sommige .NET 8-scenario's kan DAB het HTTPS-eindpunt echter niet correct uitvoeren. Dit artikel bevat stappen voor het configureren van het HTTPS-eindpunt.

Voorwaarden

Symptomen

Wanneer een ontwikkelaar DAB uitvoert in een lokale omgeving, zien sommige gebruikers console-uitvoer die vergelijkbaar is met de volgende:

...
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
...

Notitie

Het resulterende http://[::]:8080 eindpunt is het eindpunt, maar het is geen geldige URL.

Oorzaak

Voor ontwikkelaars met .NET 8 of hoger vereist het HTTPS-eindpunt dat de ASPNETCORE_URLS omgevingsvariabele correct is geconfigureerd.

Oplossing

Als u uw lokale omgeving correct wilt configureren, gebruikt u een van de volgende methoden om de ASPNETCORE_URLS omgevingsvariabele in te stellen.

Oplossing 1: De omgevingsvariabele instellen met een .env-bestand

Een .env bestand is een eenvoudig tekstbestand waarin omgevingsvariabelen in sleutel-waardeparen worden opgeslagen. Als u de ASPNETCORE_URLS omgevingsvariabele wilt instellen, introduceert u een .env bestand naast uw dab-config.json bestand met inhoud die vergelijkbaar is met het volgende voorbeeld:

SQL_CONNECTION_STRING={your-connection-string}
ASPNETCORE_URLS=http://localhost:5000;https://localhost:5001

Oplossing 2: De omgevingsvariabele instellen in uw besturingssysteem (optioneel)

Stel de ASPNETCORE_URLS omgevingsvariabele in op http://localhost:5000;https://localhost:5001 in Windows.

[Environment]::SetEnvironmentVariable("ASPNETCORE_URLS", "http://localhost:5000;https://localhost:5001", "User")

Meer informatie

Als uw probleem niet is opgelost, geeft u feedback of meldt u dit in de discussies over data-api-builder.