Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u Azure Functions bouwt met .NET en Dev Proxy wilt gebruiken, volgt u de algemene richtlijnen voor het gebruik van Dev Proxy met .NET-toepassingen.
Belangrijk
Als u wilt voorkomen dat Azure Functions fouten optreden tijdens het opstarten, start Dev Proxy zonder het te registreren als systeemproxy, hetzij door de --as-system-proxy false
optie te gebruiken of door asSystemProxy
naar false
te configureren in het devproxyrc.json
bestand. Als u Dev Proxy registreert als een systeemproxy, mislukt Azure Functions bij het opstarten met een foutbericht dat vergelijkbaar is met:
Grpc.Core.RpcException: 'Status(StatusCode="Internal", Detail="Error starting gRPC call. HttpRequestException: Requesting HTTP version 2.0 with version policy RequestVersionOrHigher while unable to establish HTTP/2 connection.", DebugException="System.Net.Http.HttpRequestException: Requesting HTTP version 2.0 with version policy RequestVersionOrHigher while unable to establish HTTP/2 connection.")'
Als u eenvoudig wilt kunnen schakelen tussen het gebruik van Dev Proxy in ontwikkeling en niet in productie, kunt u de proxy het beste configureren in uw Azure Functions-app met behulp van omgevingsvariabelen. Wijzig het local.settings.json
bestand om de HTTPS_PROXY
omgevingsvariabele op te nemen.
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
HttpClient
in .NET haalt automatisch de HTTPS_PROXY
omgevingsvariabele op en gebruikt deze om de proxy te configureren voor uitgaande HTTP-aanvragen.
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace dotnet_azure_fn;
public class MyFn(ILogger<MyFn> logger, IHttpClientFactory httpClientFactory)
{
private readonly ILogger<MyFn> _logger = logger;
private readonly HttpClient _httpClient = httpClientFactory.CreateClient();
[Function("MyFn")]
public async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
var result = await _httpClient.GetAsync("https://jsonplaceholder.typicode.com/posts");
if (result.IsSuccessStatusCode)
{
return new OkObjectResult(await result.Content.ReadAsStringAsync());
}
else
{
_logger.LogError("HTTP request failed.");
return new StatusCodeResult(StatusCodes.Status500InternalServerError);
}
}
}