Код: Выделить всё
public class MyService(/* injected services */) {
public async Task MyMethod() {
// Whatever
}
}
I register this in the server project's `Program.cs`...
```c#
builder.Services.AddScoped();
< /code>
Затем я настроил конечную точку следующим образом ... < /p>
app.MapGet("/hello", (MyService service) =>
service.MyMethod());
Код: Выделить всё
public class MyService(IHttpContextAccessor httpContextAccessor) {
public async Task MyMethod() {
HttpRequest request = httpContextAccessor.HttpContext!.Request;
Console.WriteLine($"BaseUrl: {request.Scheme}://{request.Host}");
}
}
< /code>
Однако коллега сказал, что контекст HTTP не гарантированно будет доступен, и мне просто повезло. Он направил меня к этой статье Microsoft, подкрепленной этой дискуссией GitHub. Я не совсем уверен, что это значит, но, как все, что я делаю, это получает схему и хост, я не уверен, что это проблема для меня. Я в безопасности я внедряю ihttpcontextaccorsor Подробнее здесь: https://stackoverflow.com/questions/796 ... re-service