Я пытаюсь использовать шаблон IOC и не мог найти идеальный способ реализации управления состоянием с использованием того же самого. Было бы здорово, если кто-то может помочь мне с тем же. Спасибо.Управление сеансом ASP.Net MVC 3 при использовании шаблона IOC
1
A
ответ
0
Что я хотел бы сделать это первым создать интерфейс, содержащий все свойства, которые вы должны хранить в сессии (т.е. контекст):
using ProjectName.Core.Domain;
namespace ProjectName.Core.Interfaces
{
public interface IProjectNameSessionContext
{
string StringProperty1 { get; set; }
bool BoolProperty1 { get; set; }
ProjectName.Core.Domain.Entity1 DomainEntity1 { get; set; }
}
}
Затем создать класс, который реализует этот интерфейс, отметьте его как сериализуемый:
using ProjectName.Core.Interfaces;
namespace ProjectName.Front.SessionData
{
[Serializable]
public class ProjectNameSessionContext : IProjectNameSessionContext
{
public string StringProperty1 { get; set; }
public bool BoolProperty1 { get; set; }
public ProjectName.Core.Domain.Entity1 DomainEntity1 { get; set; }
}
}
И, наконец, скажите вашему МОК, чтобы связать интерфейс с классом во время выполнения экземпляра объекта в контексте HttpSession.
Похоже, это с StrucureMap:
For<Core.Interfaces.IProjectNameSessionContext>().LifecycleIs(new HttpSessionLifecycle()).Use<ProjectNameSessionContext>();
Надежда, что помогает!
Вы используете контейнеры 'Unity' – Saravanan