Я в безопасности в безопасности IHTTPContextAccessor в сервис ASP.NET CORE? ⇐ C#

Место общения программистов C#
Anonymous
Я в безопасности в безопасности IHTTPContextAccessor в сервис ASP.NET CORE?

Сообщение Anonymous »

У меня есть Blazor Web App, которое использует минимальные конечные точки API, когда оно находится в режиме рендеринга WASM. Эти конечные точки просто передают запрос на серверные службы, которые называются непосредственно в режиме рендеринга сервера. Это все довольно стандартные вещи, и работает нормально.

Код: Выделить всё

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());
В одном из моих методов обслуживания мне нужно получить базовый URI для запроса (например, http: // localhost: 1234 при запуске vs, https://test.example.com при запуске тестового сервера и https://ww.example. IhttpContextAccessor в сервис, схватил схему и хост из нее, и все, кажется, работает нормально ...

Код: Выделить всё

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

Вернуться в «C#»