В настоящее время у меня есть ActionFilter, который получает имя текущего пользователя из HttpContext и передает его в действие, которое использует его для метода службы. например:ASP.NET MVC: HTTPContext и Dependency Injection
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.
Что значит «Добавить общий тип params to bags»? Звучит интригующе. –
предоставить сильные типизированные обертки за сеанс –
у вас есть какой-либо пример кода/ссылки, это кажется интересным _ am kinda new to DI, поэтому я не понимаю этого правильно, любая помощь/совет будут оценены ... – Haroon