2010-06-05 1 views
3

В настоящее время мы помещаем объекты/сущности домена в наши сеансы ASP.NET.Объекты домена в (ASP.NET) сеанс или лучше какие-то DTO?

Теперь мы рассматриваем возможность перехода от сеансов InProc к государственному серверу. Это требует, чтобы все объекты внутри сеанса были сериализованы. Вместо того, чтобы аннотировать все объекты с [Serializable] атрибутом, мы думали о создании объектов пользовательских сеансов, которые содержат только информацию, необходимые нам (объекты DTO Session?):

Cons:

  • Объектов должны быть перезагружается, что требует дополнительных DB спуско-

ПРОФИ:

  • состояние сеанса меньше
  • Информации о сеансе более специфична (может быть CON)
  • Нет ненужную аннотацию домен-Сущностей

Что вы думаете? Должны ли мы использовать какие-то DTO для хранения внутри сеанса, или мы должны придерживаться хороших старых образов?

+0

О каких доменах мы говорим? Объекты LINQ2SQL, сущности Entity Framework или что-то еще? –

+0

Обычные старые сущности, в смысле DDD. (DataAccess не работает в NHibernate как ORM) – Robert

ответ

1

Если вы подумываете о переходе на ASP.NET MVC, эти DTO станут вашими объектами ViewData для модели, что может привести к удобной миграции.

Да, информация о сессии будет более конкретной, так как DTO будет специфичным для поведения его использования. Это должно уменьшить накладные расходы при отсутствии неиспользуемой информации или даже ограниченной информации.

Specifc DTO также поможет с другими вещами; Если вы реализуете другие технологии на своем уровне презентации, например Silverlight, Flash и т. Д., И вам нужны те же объекты в веб-сервисе.

+0

В проектах MVC я вижу те же плюсы и минусы. Использовать веб-формы не означает, что у меня нет ViewModel) – Robert

+0

@Robert: Я достаточно честный, мне кажется, что они просто используются больше. –

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

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