by Guest » 11 Feb 2025, 04:20
Ich verwende Fastendpoints in einem ASP.NET Core 9 -Web -API -Projekt. > In einem anderen Dienst möchte ich einen Anruf bei diesem Endpunkt tätigen. Ich würde es vorziehen, den Endpunkt direkt und nicht mithilfe eines httpclient dafür aufzurufen. p>
[*] Verwenden Sie DI in meinem Dienst für jeden Dienst, der in den Endpunkt eingefügt wird - was unangemessen erscheint < /li>
Registrieren Sie jeden Endpunkt manuell in Das Setup über builder.services.addscoped () - Dann sind einige Interna des Endpunkts null (null (
Mitglied)
[*] Verwenden Sie die Fastendpoints.factory.create () erfordert auch, dass jeder Dienst explizit instanziiert wird
Code: Select all
public class MyWorkerService
{
public async Task HandleInit()
{
// how to call the endpoint?
await (new GetTestEndpoint()).HandleAsync(new EmptyRequest(), CancellationToken.None);
var response = GetTestEndpoint.Response;
}
}
public abstract class GetTestEndpoint : Endpoint
{
protected readonly SomeService _someService;
protected readonly ILogger _logger;
protected GetTestEndpoint(SomeService someService, ILogger logger)
{
_someService = someService;
_logger = logger;
}
public override void Configure()
{
Get("api/" + RoutePattern);
AllowAnonymous();
}
public override async Task HandleAsync(EmptyRequest emptyRequest, CancellationToken ct)
{
await SendAsync(new TestResponse());
}
}
Wie kann ich also interne Anrufe zur Fast-End-Route (mit der Anforderungsklasse und zurück-Rückruf eines Antwortobjekts?)
Ich verwende Fastendpoints in einem ASP.NET Core 9 -Web -API -Projekt. > In einem anderen Dienst möchte ich einen Anruf bei diesem Endpunkt tätigen. Ich würde es vorziehen, den Endpunkt direkt und nicht mithilfe eines httpclient dafür aufzurufen. p>
[*] Verwenden Sie DI in meinem Dienst für jeden Dienst, der in den Endpunkt eingefügt wird - was unangemessen erscheint < /li>
Registrieren Sie jeden Endpunkt manuell in Das Setup über builder.services.addscoped () - Dann sind einige Interna des Endpunkts null (null ([code]HttpContext[/code] Mitglied)
[*] Verwenden Sie die Fastendpoints.factory.create () erfordert auch, dass jeder Dienst explizit instanziiert wird
[code]public class MyWorkerService
{
public async Task HandleInit()
{
// how to call the endpoint?
await (new GetTestEndpoint()).HandleAsync(new EmptyRequest(), CancellationToken.None);
var response = GetTestEndpoint.Response;
}
}
public abstract class GetTestEndpoint : Endpoint
{
protected readonly SomeService _someService;
protected readonly ILogger _logger;
protected GetTestEndpoint(SomeService someService, ILogger logger)
{
_someService = someService;
_logger = logger;
}
public override void Configure()
{
Get("api/" + RoutePattern);
AllowAnonymous();
}
public override async Task HandleAsync(EmptyRequest emptyRequest, CancellationToken ct)
{
await SendAsync(new TestResponse());
}
}
[/code]
Wie kann ich also interne Anrufe zur Fast-End-Route (mit der Anforderungsklasse und zurück-Rückruf eines Antwortobjekts?)