Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
.NET Aspire egy irányelvekkel rendelkező, felhőalapú környezetre kész technológiai stack, amely megfigyelhető, éles üzemre kész, elosztott alkalmazások létrehozására szolgál. A .NET-en alapul, és modern, gyors és méretezhető platformot biztosít a webalkalmazások létrehozásához.
Ha a Dev Proxyt a .NET Aspire alkalmazással szeretné használni, használja a DevProxy.Hosting NuGet csomagot. A csomag dev proxy .NET Aspire bővítményeket biztosít a Dev Proxy kényelmes integrálásához a .NET Aspire alkalmazásba.
A Dev Proxy .NET Aspire bővítmények NuGet-csomagjának telepítése
A Dev Proxy .NET Aspire bővítmények NuGet-csomagjának telepítéséhez futtassa a következő parancsot a .NET Aspire-alkalmazás gyökérmappájában:
dotnet add package DevProxy.Hosting
A Dev Proxy .NET Aspire bővítménycsomag használatával integrálhatja a Dev Proxyt a helyileg telepített végrehajtható fájlból vagy egy Docker-tárolóból.
Dev Proxy integrálása a helyileg telepített végrehajtható fájlból
Ha a Dev Proxy helyileg van telepítve, a legegyszerűbben úgy integrálhatja azt a .NET Aspire alkalmazásba, ha a helyi végrehajtható fájlra hivatkozik. Az alábbi kódrészlet bemutatja, hogyan integrálható a Dev Proxy a helyileg telepített végrehajtható fájlból a .NET Aspire starter alkalmazással.
Fontos
Ha a Dev Proxyt úgy konfigurálja, hogy a helyi végrehajtható fájlt használja, győződjön meg arról, hogy a végrehajtható fájl minden olyan gépen elérhető, ahol az alkalmazást futtatja. Ha dev proxyt szeretne használni tárolóalapú környezetben, fontolja meg inkább a Docker-tároló használatát.
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();
Először a Dev Proxy .NET Aspire bővítmények használatával hozzáadhat egy Dev Proxy szolgáltatást az alkalmazáshoz. A AddDevProxyExecutable metódus a végrehajtható dev proxy nevét adja meg. A WithConfigFile metódus használatával megadhatja a dev proxy konfigurációs fájljának elérési útját. A WithUrlsToWatch metódus használatával megadhatja a megtekinteni kívánt URL-címek listáját. Ebben a példában azt szeretné, hogy a Dev Proxy elfogja a webalkalmazás által az API-szolgáltatáshoz küldött kéréseket.
Fontos
Figyelje meg, hogy a WithUrlsToWatch metódus elfogad egy függvényt, amely visszaadja a figyelendő URL-címek listáját. Ennek az az oka, hogy az API-szolgáltatásvégpont nem érhető el a Fejlesztői proxy konfigurálásakor, így nem adhatja át közvetlenül az URL-címet. Ehelyett egy lambda kifejezést használ, amely az API-szolgáltatás URL-címét adja vissza, ha az elérhető.
Ezután a webalkalmazásban a HTTPS_PROXY környezeti változóval konfigurálja a webalkalmazást a Dev Proxy használatára. Ezzel a WaitFor módszerrel utasítja a webalkalmazást, hogy várja meg, amíg a Dev Proxy elérhetővé válik a kezdés előtt.
Dev Proxy integrálása Docker-tárolóból
Másik lehetőségként a Dev Proxyt integrálhatja a .NET Aspire-alkalmazásba egy Docker-tárolóból. A Dev Proxy Docker-rendszerkép használata kényelmes, mert a .NET Aspire automatikusan lekéri a képet, ha helyileg nem érhető el. A hátránya az, hogy van még néhány lépés a dev proxy konfigurálásához az alkalmazásban.
Az alábbi kódrészlet bemutatja, hogyan integrálható a Dev Proxy egy Docker-tárolóból a .NET Aspire kezdőalkalmazással.
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();
Az alapvető lépések ugyanazok, mint a helyileg telepített végrehajtható fájl használatakor. A fő különbség az, hogy hogyan adhatja meg a konfigurációs fájlt és a HTTPS-forgalom elfogására szolgáló tanúsítványt.
Ha dev proxyt integrál egy Docker-tárolóból, csatlakoztatnia kell a helyi mappákat a konfigurációs fájlhoz és a tanúsítványhoz a tárolóba. Ebben a példában a .NET Aspire-megoldásban a következő mappastruktúrával rendelkezik:
AspireStarterApp
├── .devproxy
│ ├── cert
│ │ └── rootCert.pfx
│ └── config
│ └── devproxy.json
├── Projects
│ ├── AspireStarterApp_ApiService
│ └── AspireStarterApp_Web
└── AspireStarterApp.sln
A cert mappa tartalmazza a Személyes adatcsere (PFX) tanúsítványt, amelyet a Dev Proxy a HTTPS-forgalom elfogására használ.
Fontos
Meg kell bíznia a tanúsítványban a cert számítógép mappájában, vagy az API-szolgáltatáshoz érkező kérések sikertelenek lesznek. Ahhoz is, hogy a Dev Proxy betöltse a tanúsítványt, PFX formátumban kell lennie, el kell neveznie rootCert.pfx, és nem szabad jelszóval védenie.
A config mappa tartalmazza a Dev Proxy konfigurációs fájlját és más Fejlesztői proxyfájlokat, például a maketteket vagy a hibákat.
Mivel a tanúsítvány- és konfigurációs fájlokat külön kötetekhez csatlakoztatja a tárolóban, ezeket külön mappákban kell tárolni.
Dev Proxy használata a .NET Aspire kezdőalkalmazással
Az alkalmazás elindítása után a Dev Proxy erőforrásként jelenik meg az alkalmazásban.
Amikor a webalkalmazást úgy használja, hogy az kéréseket küldjön az API-szolgáltatásnak, a Dev Proxy elfogja a kéréseket, és a konfigurációnak megfelelően kezeli őket. A fejlesztői proxy kimenetét a .NET Aspire irányítópult Konzol szakaszában tekintheti meg.