1

Я пытаюсь использовать шаблон IOC и не мог найти идеальный способ реализации управления состоянием с использованием того же самого. Было бы здорово, если кто-то может помочь мне с тем же. Спасибо.Управление сеансом ASP.Net MVC 3 при использовании шаблона IOC

+0

Вы используете контейнеры 'Unity' – Saravanan

ответ

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>(); 

Надежда, что помогает!

 Смежные вопросы

  • Нет связанных вопросов^_^