У меня есть проект MVC WebApi owin (soft hosting), который использует Unity для разрешения зависимостей контроллера
которые выглядят следующим образом
public class PacientaiController : ODataController
{
private readonly IEntityRepo<Ent.Pacientas> repo;
public PacientaiController(IEntityRepo<Ent.Pacientas> repo)
{
this.repo = repo;
}
проблема, которую я пытаюсь решить - это как передать "OwinContex" в репо.
public class PacientasEntityRepo:IEntityRepo<Pacientas>,IDisposable
{
public PacientasEntityRepo(IOwinContext ctx)
{
.........
Если я попытаюсь зарегистрировать его так, как в Startup.cs
Container.RegisterType<IOwinContext>(new InjectionFactory(o => HttpContext.Current.GetOwinContext()));
Я получаю null ref, говоря, что HttpContext.Current
равно NULL
Основная идея здесь состоит в том, чтобы передать аутентифицированного пользователя в репо, поскольку Repo использует Logic для запроса базы данных в зависимости от пользователя. (скажем, если пользователь является администратором, а затем верните эти данные, если пользователь гость - верните эти данные)
Суть в том, что это сам хост!