В моем ASP. Net основном приложении я получаю это исключение
Служба для типа «Microsoft.AspNetCore.Http.HttpContextAccessor» не зарегистрирована
Во время выполнения в моем классе Checkout, особенно в моем методе GetCart.
public static Checkout GetCart(IServiceProvider serviceProvider)
{
ISession session = serviceProvider.GetRequiredService<HttpContextAccessor>()?.HttpContext.Session;
var context = serviceProvider.GetService<AppDbContext>();
string checkoutId = session.GetString("CheckoutId") ?? Guid.NewGuid().ToString();
session.SetString("CheckoutId", checkoutId);
return new Checkout(context) { CheckoutId = checkoutId };
}
Я добавил службу HttpContextAccessor
в файл startup.cs
services.AddMemoryCache();
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddScoped(sp => Checkout.GetCart(sp));
services.AddSession();
Я даже пробовал Добавить с помощью метода AddHttpContextAccessor();
, который должен правильно добавить службу как синглтон, но все равно получаю то же исключение.
Добавление в качестве области действия дало исключение времени выполнения
Невозможно разрешить службу с областью действия «Microsoft.AspNetCore.Http.IHttpContextAccessor» от поставщика root.
У кого-нибудь есть решение этой проблемы?