[*] 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: Select all
HttpContext
[*] 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());
}
}