среда, 26 января 2011 г.

Comdiv.Core 3 - пересмотр конверсаций

Конверсации версии 2 оказались неуместными.
Во первых сами длительные транзакции оказались опасными и невостребованными.
Архитектура транзакций и обработки событий конверсаций, их менеджмент и хранение были крайне усложнены. Львиную долю цикла делал ужасный BaseApplication, а сессии все равно жили своей жизнью.

В версии 3 решено полностью пересмотреть подход.

  1. Сессии пусть живут отдельно
  2. Никаких постоянных транзакций, только Flush.Never и соглашение, что обновление данных в защищенном контексте
  3. Нет как таковых конверсаций
  4. Вместо этого переписан шаблон приложения в Core, WebApplicationBase, от него все наследуется.
  5. WebApplicationBase инициирует IApplicationLifecycleManager из ioc и ему делегирует события веб - тут если надо можно завесить обработчиков рекветов. Это заместо перехватчиков конверсаций.
  6. Конверсации вообще удаляются из проекта

Комментариев нет: