Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
.NET Aspire je náročná, na cloud připravená sada k vytváření pozorovatelných, produkčně hotových a distribuovaných aplikací. Je postavená na platformě .NET a poskytuje moderní, rychlou a škálovatelnou platformu pro vytváření webových aplikací.
Pokud chcete používat Dev Proxy s aplikací .NET Aspire, použijte balíček NuGet DevProxy.Hosting. Balíček poskytuje rozšíření Dev Proxy .NET Aspire, která pohodlně integrují Dev Proxy do vaší aplikace .NET Aspire.
Nainstalujte balíček NuGet rozšíření Dev Proxy .NET Aspire
Pokud chcete nainstalovat balíček NuGet rozšíření Dev Proxy .NET Aspire, spusťte v kořenové složce vaší aplikace .NET Aspire následující příkaz:
dotnet add package DevProxy.Hosting
Pomocí balíčku rozšíření Dev Proxy .NET Aspire můžete vývojový proxy server integrovat buď z místně nainstalovaného spustitelného souboru, nebo z kontejneru Dockeru.
Integrace dev Proxy z místně nainstalovaného spustitelného souboru
Pokud máte místně nainstalovaný Dev Proxy, nejpohodlnější způsob, jak ho integrovat do aplikace .NET Aspire, je odkazovat na místní spustitelný soubor. Následující fragment kódu ukazuje, jak integrovat Dev Proxy z místně nainstalovaného spustitelného souboru s úvodní aplikací .NET Aspire.
Důležité
Když nakonfigurujete Dev Proxy tak, aby používal místní spustitelný soubor, ujistěte se, že je spustitelný soubor dostupný na všech počítačích, na kterých spouštíte aplikaci. Pokud chcete používat Dev Proxy v kontejnerizovaném prostředí, zvažte místo toho použití kontejneru Dockeru.
using DevProxy.Hosting;
var builder = DistributedApplication
.CreateBuilder(args);
// Add an API service to the application
var apiService = builder.AddProject<Projects.AspireStarterApp_ApiService>("apiservice")
.WithHttpsHealthCheck("/health");
var devProxy = builder.AddDevProxyExecutable("devproxy")
.WithConfigFile(".devproxy/config/devproxy.json")
.WithUrlsToWatch(() => [$"{apiService.GetEndpoint("https").Url}/*"]);
// Add a web frontend project and configure it to use Dev Proxy
builder.AddProject<Projects.AspireStarterApp_Web>("webfrontend")
.WithExternalHttpEndpoints()
.WithHttpsHealthCheck("/health")
.WithEnvironment("HTTPS_PROXY", devProxy.GetEndpoint(DevProxyResource.ProxyEndpointName))
.WithReference(apiService)
.WaitFor(apiService)
.WaitFor(devProxy);
// Build and run the application
builder.Build().Run();
Nejprve pomocí rozšíření Dev Proxy .NET Aspire přidáte do své aplikace službu Dev Proxy. Metoda AddDevProxyExecutable určuje název spustitelného souboru dev proxy.
WithConfigFile Pomocí této metody zadáte cestu ke konfiguračnímu souboru dev proxy serveru.
WithUrlsToWatch Pomocí této metody zadáte seznam adres URL, které se mají sledovat. V tomto příkladu chcete, aby dev proxy zachycuje požadavky, které webová aplikace provádí ve službě API.
Důležité
Všimněte si, že WithUrlsToWatch metoda přijímá funkci, která vrací seznam adres URL ke sledování. Důvodem je to, že koncový bod služby API není při konfiguraci dev proxy k dispozici, takže adresu URL nemůžete předat přímo. Místo toho použijete výraz lambda, který vrátí adresu URL služby API, když je k dispozici.
Dále ve webové aplikaci pomocí HTTPS_PROXY proměnné prostředí nakonfigurujete webovou aplikaci tak, aby používala Dev Proxy.
WaitFor Pomocí metody, kterou dáváte webové aplikaci pokyn, aby před spuštěním čekala, až bude dev proxy server k dispozici.
Integrace dev proxy serveru z kontejneru Dockeru
Alternativně můžete vývojový proxy server integrovat do aplikace .NET Aspire z kontejneru Dockeru. Použití image Dockeru Dev Proxy je praktické, protože .NET Aspire automaticky stahuje image, pokud není dostupná lokálně. Nevýhodou je, že existuje několik dalších kroků ke konfiguraci dev proxy ve vaší aplikaci.
Následující fragment kódu ukazuje, jak integrovat Dev Proxy z kontejneru Dockeru s úvodní aplikací .NET Aspire.
using DevProxy.Hosting;
var builder = DistributedApplication
.CreateBuilder(args);
// Add an API service to the application
var apiService = builder.AddProject<Projects.AspireStarterApp_ApiService>("apiservice")
.WithHttpsHealthCheck("/health");
// Add Dev Proxy as a container resource
var devProxy = builder.AddDevProxyContainer("devproxy")
// specify the Dev Proxy configuration file; relative to the config folder
.WithConfigFile("./devproxy.json")
// mount the local folder with PFX certificate for intercepting HTTPS traffic
.WithCertFolder(".devproxy/cert")
// mount the local folder with Dev Proxy configuration
.WithConfigFolder(".devproxy/config")
// let Dev Proxy intercept requests to the API service
.WithUrlsToWatch(() => [$"{apiService.GetEndpoint("https").Url}/*"]);
// Add a web frontend project and configure it to use Dev Proxy
builder.AddProject<Projects.AspireStarterApp_Web>("webfrontend")
.WithExternalHttpEndpoints()
.WithHttpsHealthCheck("/health")
// set the HTTPS_PROXY environment variable to the Dev Proxy endpoint
.WithEnvironment("HTTPS_PROXY", devProxy.GetEndpoint(DevProxyResource.ProxyEndpointName))
.WithReference(apiService)
.WaitFor(apiService)
.WaitFor(devProxy);
// Build and run the application
builder.Build().Run();
Základní kroky jsou stejné jako při použití místně nainstalovaného spustitelného souboru. Hlavním rozdílem je určení konfiguračního souboru a certifikátu pro zachycení provozu HTTPS.
Při integraci dev Proxy z kontejneru Dockeru je potřeba připojit místní složky s konfiguračním souborem a certifikátem do kontejneru. V tomto příkladu máte v řešení .NET Aspire následující strukturu složek:
AspireStarterApp
├── .devproxy
│ ├── cert
│ │ └── rootCert.pfx
│ └── config
│ └── devproxy.json
├── Projects
│ ├── AspireStarterApp_ApiService
│ └── AspireStarterApp_Web
└── AspireStarterApp.sln
Složka cert obsahuje certifikát PFX (Personal Information Exchange), který dev Proxy používá k zachycení provozu HTTPS.
Důležité
Musíte důvěřovat certifikátu ve složce cert na vašem počítači, jinak požadavky na službu API selžou. Aby dev proxy server načetl certifikát, musí být ve formátu PFX, musí mít název rootCert.pfxa nesmí být chráněný heslem.
Složka config obsahuje konfigurační soubor Dev Proxy a další soubory Dev Proxy, jako jsou chyby nebo napodobení.
Protože připojujete certifikát a konfigurační soubory k oddělení svazků v kontejneru, musí být uložené v samostatných složkách.
Použití Dev Proxy s výchozí aplikací .NET Aspire
Po spuštění aplikace se dev proxy zobrazí jako prostředek v aplikaci.
Když použijete webovou aplikaci tak, aby zpracovávala požadavky na službu API, Dev Proxy zachytí požadavky a zpracuje je podle vaší konfigurace. Výstup vývojového proxy serveru můžete zobrazit v části Konzola na řídicím panelu .NET Aspire.