У меня есть следующий репозиторий:
public class TestRepository : WebCaller<Data>, ITestRepository
{
string connString = this.GetConnectionString();
.... some code here
}
В моем репозитории я могу сделать Dependency Injection
для конструктора без проблем .
В моем абстрактном классе WebCaller
Мне нужно каким-то образом получить доступ к HttpContext
, я читал, что вы можете Inject
IHttpContextAccessor
получить доступ к контексту, но поскольку это класс Abstract
, который также находится вне веб-проекта , У меня не может быть конструктора.
Я пытался сделать это:
public abstract class WebCaller<T> : WebRequest, IDisposable
{
//[Inject]
public ITestRepository TestRepo
{
get
{
return this.HttpContext.RequestServices.GetRequiredService<ITestRepository >();
}
}
..... more code here
}
Пытался использовать атрибут Inject
, но читал, что больше не доступно, поэтому должен быть другим способом передачи HttContext
в абстрактный класс.