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.
V Aspire prostředcích, které zpřístupňují koncové body, se konfiguruje pouze hostitel a port, které nejsou známy až do doby spuštění. Pokud potřebujete získat přístup ke konkrétní cestě na jednom z těchto koncových bodů , zejména z řídicího panelu, můžete definovat vlastní adresy URL prostředků. Můžete také přidat vlastní adresy URL, které nejsou svázané s žádným koncovým bodem. Všechny vlastní adresy URL jsou dostupné jenom v režimu spuštění, protože jsou určené pro použití řídicího panelu. Tento článek ukazuje, jak definovat vlastní adresy URL.
Výchozí chování koncového bodu
Ve výchozím nastavení se prostředky projektu spoléhají na existující konfigurace, Aspire jako jsou Kestrel nebo spouštěcí profily, k určení hostitele a portu prostředku pro nakonfigurovaný koncový bod a koncové body se vždy zobrazují na řídicím panelu.
Podobně můžete koncové body explicitně zveřejnit pomocí WithEndpoint rozhraní API. Toto rozhraní API umožňuje zadat hostitele a port pro prostředek, který se pak použije k vytvoření výchozí adresy URL pro daný prostředek. Výchozí adresa URL je obvykle ve formátu <scheme>://<host>:<port>. Pokud chcete vynechat port hostitele, použijte jednu z následujících metod:
Další informace najdete v tématu Metody rozšíření koncového bodu.
Podporované typy prostředků
Vlastní adresy URL prostředků jsou podporovány pro následující typy prostředků:
Přizpůsobení adres URL prostředků
K definování vlastních adres URL pro prostředek použijte příslušné přetížení WithUrl, WithUrls nebo WithUrlForEndpoint rozhraní API v libovolném podporovaném konstruktoru prostředků. Následující příklad ukazuje, jak nastavit vlastní adresu URL pro zdroj projektu:
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject<Projects.AspireApp_Api>("api");
api.WithUrl("/admin", "Admin Portal");
builder.Build().Run();
Návod
Existuje přetížení, které přijímá string, což vám umožňuje předat jakoukoli adresu URL. To je užitečné při definování vlastních adres URL, které přímo nesouvisí s koncovým bodem prostředku.
Předchozí kód přiřadí odkaz na projekt proměnné api , která se pak použije k vytvoření vlastní adresy URL pro trasu Admin Portal . Metoda WithUrl bere jako parametry ReferenceExpression a zobrazovaný název. Výsledná adresa URL je dostupná na řídicím panelu, jak je znázorněno na následujícím snímku obrazovky.
Přizpůsobení adresy URL koncového bodu
Scalar i Swagger jsou známé služby rozhraní API, které zlepšují použitelnost koncových bodů. K těmto službám se přistupuje prostřednictvím adres URL svázaných s deklarovanými koncovými body.
Pokud chcete přizpůsobit adresu URL prvního přidruženého koncového bodu, použijte metodu WithUrlForEndpoint.
Pokud chcete přidat samostatnou adresu URL (i pro stejný koncový bod), musíte využít přetížení WithUrl, které přijímá ReferenceExpression nebo interpolovaný řetězec, nebo spustit WithUrls a URL přidat do seznamu Urls v kontextu.
var builder = DistributedApplication.CreateBuilder(args);
builder.AddProject<Projects.AspireApp_Api>("api")
.WithUrlForEndpoint("https", url =>
{
url.DisplayText = "Scalar (HTTPS)";
url.Url = "/scalar";
});
builder.Build().Run();
Předchozí příklad předpokládá, že api zdroj projektu má nakonfigurovaný https koncový bod. Metoda WithUrlForEndpoint aktualizuje ResourceUrlAnnotation přidružené ke koncovému bodu. V tomto případě přiřadí zobrazovaný text Scalar (HTTPS) a přiřadí relativní /scalar cestu k adrese URL.
Po spuštění prostředku je adresa URL dostupná na řídicím panelu, jak je znázorněno na následujícím snímku obrazovky.
Alternativně můžete použít přetížení, které přijímá Func<EndpointReference, ResourceUrlAnnotation> jako zpětné volání. To umožňuje zadat hloubkové odkazy na cílové EndpointReference instance.
Přizpůsobte několik adres URL prostředků
Pokud chcete přizpůsobit více adres URL pro prostředek, použijte metodu WithUrls . Tato metoda umožňuje zadat více adres URL pro prostředek, z nichž každý má vlastní zobrazovaný text. Následující příklad ukazuje, jak nastavit více adres URL pro zdroj projektu:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddProject<Projects.AspireApp_Api>("api")
.WithUrls(context =>
{
foreach (var url in context.Urls)
{
if (string.IsNullOrEmpty(url.DisplayText))
{
url.DisplayText = $"API ({url.Endpoint?.Scheme?.ToUpper()})";
}
}
});
builder.Build().Run();
Předchozí kód iteruje prostřednictvím adres URL definovaných pro api zdroj projektu a přiřadí zobrazovaný text se schématem.
Návod
ResourceUrlsCallbackContext zpřístupňuje metodu rozšíření, která usnadňuje přístup k podkladovým prostředkům, které jsou určeny jako koncové body podle názvů.
GetEndpoint Zavolejte rozhraní API v kontextové instanci, abyste toho dosáhli.
Životní cyklus přizpůsobení adresy URL
Volání zpětné vazby pro přizpůsobení URL se spouští během životního cyklu modelu aplikace, konkrétně během zpracování události BeforeResourceStartedEvent. Adresy URL přidružené ke koncovým bodům se stanou aktivními a zobrazí se na řídicím panelu, jakmile se samotný koncový bod aktivuje. Adresy URL, které nejsou přidružené ke koncovým bodům, se aktivují jenom v případech, kdy prostředek přejde do stavu Spuštěno. Tím zajistíte, že jsou všechny vlastní adresy URL přesně reprezentované a dostupné, když jsou prostředky aplikace plně funkční.