В настоящее время у меня есть ActionFilter, который получает имя текущего пользователя из HttpContext и передает его в действие, которое использует его для метода службы. например:
Service.DoSomething(userName);
У меня теперь есть причина сделать это не на уровне действия, а на уровне конструктора контроллера. В настоящее время я использую структуру структуры для создания контроллеров и ввода услуги. Я смотрю на что-то вроде:
public interface IUserProvider
{
string UserName { get; }
}
public class HttpContextUserProvider : IUserProvider
{
private HttpContext context;
public HttpContextUserProvider(HttpContext context)
{
this.context = context;
}
public string UserName
{
get
{
return context.User.Identity.Name;
}
}
}
Тем не менее, мой IoC foo действительно слаб, так как это первый проект, в котором я его использовал.
Итак, мой вопрос... как я могу передать структуру структуры для передачи в HttpContext в конструкторе для HttpContextUserProvider? Это просто кажется странным... Я не уверен, как думать о HttpContext.