Microsoft.AspNetCore.Http is not deprecated. Unlike webforms, there is no static access to HttpContext, you must pass it to object/methods that need it.
but why would business objects need HttpContext access? they should just need the business models. you should just pass the application user to the objects. better yet, define your own BusinessObjectContext that has the properties required from a http request (user, request id, logging, etc). this context could be injected.
if you inject the business object(s), they can easily also have injected objects.
note: you should avoid using HttpContextAccessor as it has limitations and performance issues.