Я пытаюсь использовать StructureMap в приложении asp.net MVC вместо HttpSession для хранения экземпляров.
Мой простой тестовый класс:
public interface ICurrentSession
{
User User { get; set; }
}
public class CurrentSession : ICurrentSession
{
public User User { get; set; }
}
Вот соответствующий код реестра, который вызывается в моем загрузчике:
x.For<ICurrentSession>().HttpContextScoped().Use<CurrentSession>();
А потом, после того как я аутентифицирую пользователя, я называю это:
var session = new CurrentSession {User = user};
ObjectFactory.Inject<ICurrentSession>(session);
Однако каждый раз, когда я вызываю ObjectFactory.GetInstance (), он возвращает один и тот же экземпляр CurrentSession для каждого сеанса (несколько браузеров, в которых зарегистрировано несколько пользователей). Что я делаю не так, или как я могу ввести CurrentSession и определить его область для каждого зарегистрированного пользователя / сеанса?